D3DDEVINFO_D3D9INTERFACETIMINGS
ドライバー内でデータの処理にかかった時間の割合 (パーセント) です。以下の統計情報を見ると、ドライバーが他のリソースを待機している場合を特定できます。
typedef struct D3DDEVINFO_D3D9INTERFACETIMINGS {
FLOAT WaitingForGPUToUseApplicationResourceTimePercent;
FLOAT WaitingForGPUToAcceptMoreCommandsTimePercent;
FLOAT WaitingForGPUToStayWithinLatencyTimePercent;
FLOAT WaitingForGPUExclusiveResourceTimePercent;
FLOAT WaitingForGPUOtherTimePercent;
} D3DDEVINFO_D3D9INTERFACETIMINGS, *LPD3DDEVINFO_D3D9INTERFACETIMINGS;
メンバ
- WaitingForGPUToUseApplicationResourceTimePercent
ロックされた (D3DLOCK_DONOTWAIT が指定されていない) リソースを GPU が使い終わるのをドライバーが待機した時間の割合。 - WaitingForGPUToAcceptMoreCommandsTimePercent
ドライバーが、新たにコマンドを送信できるようになるまで、いくつかのコマンドの処理を GPU が完了するのを待機した時間の割合 (パーセント)。この間、ドライバーは GPU にコマンドを送信することができません。 - WaitingForGPUToStayWithinLatencyTimePercent
GPU 遅延が 3 レンダリング フレーム未満に減るまでドライバーが待機した時間の割合 (パーセント)。 - WaitingForGPUExclusiveResourceTimePercent
ドライバーが、パイプライン化 (つまり、並行処理) が行えないリソースを待機した時間の割合 (パーセント)。アプリケーションは、パフォーマンス上の理由で、パイプライン化できないリソースの使用を避けた方がよい場合もあります。 - WaitingForGPUOtherTimePercent
ドライバーが他の GPU 処理を待機した時間の割合 (パーセント)。
解説
これらのメトリックを利用すると、ドライバーが待機する場合と対象を特定できます。パーセント値が高いからといって、必ずしも問題ではありません。
システム全体に渡るこのようなメトリックは、実装される場合も実装されない場合もあります。個々のハードウェアによって異なりますが、これらのメトリックでは複数のクエリを同時にサポートできない場合があります。
要件
ヘッダー: D3D9Types.h 宣言