DirectX 9 を使用して、画面に表示されているものをキャプチャし、それを縮小してプログラムに表示したいと考えています。
それをキャプチャするために、GetFrontBufferData を見つけて使用しています。ただし、システム メモリ (D3DPOOL_SYSTEMMEM) で定義されたサーフェスに書き込む方法で動作します。その結果、スクリーン ショットをビデオ メモリに戻して描画できるようにする必要があります。
ご想像のとおり、(ビデオ メモリ -> システム メモリ -> ビデオ メモリ) からのこの不必要な転送により、プログラムでかなりのシャッターが発生します。
画像をフロント バッファに格納して、ビデオ メモリのサーフェスに配置する方法はありますか?
この質問は、私の最近の質問から派生したものです: DirectX を使用してスクリーンショットをキャプチャして描画する