1

私は DirectX を初めて使用します。しばらくドキュメントを読んだ後、FrontBuffer と BackBuffer という 2 つのビデオ バッファーがあることを知りました。画面キャプチャの最速の方法を確認するためにPOCを実行しています.BackBufferは、一部の情報源によると、このトリックを実行する可能性があります. (FrontBuffer アクセスは私には遅すぎます)

しかし残念なことに、理論を詳しく説明している良い記事はインターネット上にあまりありません。答えがあれば、他の人にも役立つかもしれないいくつかの質問があります。

  1. バック バッファは、アプリケーションが書き込むことができる単なる表面ですか?
  2. バック バッファ アプリケーション固有ですか。つまり、DX アプリごとに個別のバック バッファーですか?
  3. DirectX を使用して画面にデータを表示するアプリを実行している場合、そのバック バッファーをキャプチャできますか? (FRAPS 分析によると、これを行うために DLL をアプリにフックすることができます。しかし、ガイドラインはありますか?)
4

1 に答える 1

3
  1. はい。使用する DirectX のバージョンに応じて、バック バッファーは、レンダー ターゲットとして作成されたサーフェスまたはテクスチャです。
  2. はい。すべてのアプリケーションには、独自のバック バッファーとフロント バッファーがあります。アプリケーションは、1 つのバック バッファーを使用することにさえ制限されません。代わりに、3 つ以上のバッファーを使用することも、バック バッファーをまったく使用しないこともできます。
  3. 私は DirectX アプリケーションをフックする専門家ではありませんが、これは可能なはずです。基本的に、このPresentメソッドを、バッファを表示する前にキャプチャするメソッドに置き換えます。追加情報については、こちらを参照してください。
于 2012-11-01T09:04:50.580 に答える