WM_GETMINMAXINFO
最大化操作が開始されようとしているWM_SIZE
ときと、最大化操作が終了したときに生成されます。
WM_SIZE
復元操作が終了したときにも生成されます。
しかし、ウィンドウの復元操作が始まろうとしているのをどのように検出するのでしょうか?
ウィンドウが復元されようとしている正確な瞬間を検出する必要がありますが、既に復元された瞬間ではありません。マルチスレッドDirectX
アプリケーションを開発しています。専用のセカンダリ スレッドでレンダリングします。ウィンドウが最大化または復元を開始しようとしているときに、レンダー バック バッファー サイズ ( ) を変更する必要がありますDirectX Device
Reset
。メイン スレッドからのみバック バッファーのサイズを変更できるのでCritical Sections
、レンダー スレッドと同期するために使用します。問題は、レンダリング スレッドで操作を中断Present
できず、最大化または復元操作が始まろうとしているときに、現在のPresent
操作が終了するまで待ってから、サイズ変更 (最大化/復元) を開始することです。バッファサイズを変更するのが遅すぎる場合 (最大化/復元操作が終了したとき (WM_SIZE
メッセージ)、古いフレームが間違ったサイズで描画される (画像が引き伸ばされる) ことに気付く場合があります)。