次の方法で共有


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 宣言

関連項目

IDirect3DQuery9::GetData