4

DirectX 10 アプリケーションで、フルスクリーン モードとウィンドウ モードを切り替えると、テクスチャや頂点バッファを再作成する必要があるなど、何らかのオーバーヘッドが発生しますか?

言い換えれば、ウィンドウ モードとフルスクリーン モードの間で "多くの" 切り替えを行うように設計されたアプリケーションを、切り替えが発生したときにパフォーマンス ヒットを被ることなく構築できるでしょうか?

4

2 に答える 2

6

DirectX10 には DXGI があります。スワップ チェーンを使用します。スワップ チェーンのバッファーのサイズを変更する必要があるため、(もちろん) 多少のオーバーヘッドが発生しますが、最適化されていると思われます。私が心配しているのは、表示モードを切り替えることでユーザーにてんかん発作を引き起こすことです。

http://msdn.microsoft.com/en-us/library/bb205075(VS.85).aspx

于 2009-02-06T20:42:16.870 に答える
3

D3D10では、モードスイッチでテクスチャ、バッファ、またはD3Dリソースを再作成する必要はありません。注目すべき例外の1つは、ResizeBuffersの呼び出し後にスワップチェーンのバックバッファー参照を更新する必要があることです(これは、フルスクリーンのパフォーマンスを最適化するために行う必要があります)が、パフォーマンスの点ではそれほど大きな問題ではありません。

それでも、モード変更が安いという意味ではありません。モード変更操作自体は、アプリとシステムの他の部分の両方にとって非常にコストがかかります(特に、Vistaでは、DWMを再起動する必要があります)。Win7は大幅に改善されたので、試してみて、パフォーマンス要件を満たしているかどうかを確認することをお勧めしますが、すぐに移行することは期待しないでください。

于 2009-07-16T05:34:10.660 に答える