次の方法で共有


D3DDEVINFO_D3D9INTERFACETIMINGS構造体

ドライバーでデータを処理する時間の割合。 これらの統計は、ドライバーが他のリソースを待機しているケースを特定するのに役立ちます。

構文

typedef struct D3DDEVINFO_D3D9INTERFACETIMINGS {
  FLOAT WaitingForGPUToUseApplicationResourceTimePercent;
  FLOAT WaitingForGPUToAcceptMoreCommandsTimePercent;
  FLOAT WaitingForGPUToStayWithinLatencyTimePercent;
  FLOAT WaitingForGPUExclusiveResourceTimePercent;
  FLOAT WaitingForGPUOtherTimePercent;
} D3DDEVINFO_D3D9INTERFACETIMINGS, *LPD3DDEVINFO_D3D9INTERFACETIMINGS;

メンバー

WaitingForGPUToUseApplicationResourceTimePercent

型: FLOAT

ドライバーがロックされたリソースの使用を完了するまで GPU の待機に費やした時間の割合 (および D3DLOCK_DONOTWAIT が指定されていません)。

WaitingForGPUToAcceptMoreCommandsTimePercent

型: FLOAT

ドライバーが複数のコマンドを送信する前に GPU の処理が完了するまでにドライバーが費やした時間の割合。 これは、ドライバーが GPU にコマンドを送信する余地が不足したことを示します。

WaitingForGPUToStayWithinLatencyTimePercent

型: FLOAT

ドライバーが GPU 待機時間の待機に費やした時間の割合が 3 未満のレンダリング フレームに減ります。

アプリケーションが GPU に制限されている場合、GPU が 3 つのフレーム内になるまで、ドライバーは CPU を停止する必要があります。 これにより、アプリケーションが数秒分のレンダリング呼び出しをキューに入れるのを防ぐことができます。これにより、ユーザーが新しいデータを入力してから、ユーザーがその入力の結果を確認するまでの待機時間が大幅に長くなる可能性があります。 一般に、ドライバーは Present が呼び出された回数を追跡して、3 フレームを超えるレンダリング作業をキューに入れないようにすることができます。

WaitingForGPUExclusiveResourceTimePercent

型: FLOAT

パイプライン化できない (並列で動作する) リソースの待機にドライバーが費やした時間の割合。 アプリケーションでは、パフォーマンス上の理由から、パイプライン化されていないリソースの使用を避ける必要がある場合があります。

WaitingForGPUOtherTimePercent

型: FLOAT

ドライバーが他の GPU 処理の待機に費やした時間の割合。

解説

これらのメトリックは、ドライバーがいつ待機していて、何を待機しているのかを特定するのに役立ちます。 高い割合は必ずしも問題ではありません。

これらのシステム グローバル メトリックは、実装される場合と実装されない場合があります。 特定のハードウェアによっては、これらのメトリックで複数のクエリが同時にサポートされない場合があります。

必要条件

要件
ヘッダー
D3D9Types.h

関連項目

Direct3D 構造体

GetData