次の方法で共有


D3D12DDI_BACKGROUND_PROCESSING_MODE_0062列挙 (d3d12umddi.h)

バックグラウンド処理で有効になっている動的プロファイルとシェーダーの再コンパイルのレベルを示します。

既定では、ランタイムは一度に最大 1 つのバックグラウンド コンパイル タスクをスケジュールし、この作業のリスクを最小限に抑えるためにアイドル優先度で実行され、フォアグラウンド レンダリングに障害が発生します。

開発者とプロファイリング ツールでは、これらの列挙値の組み合わせを使用して、この動作を調整できます。

構文

typedef enum D3D12DDI_BACKGROUND_PROCESSING_MODE_0062 {
  D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOWED,
  D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOW_INTRUSIVE_MEASUREMENTS,
  D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_DISABLE_BACKGROUND_WORK,
  D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_DISABLE_ALL_PROFILING
} ;

定数

 
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOWED
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOWEDは既定の状態であり、ドライバーは任意の方法でワークロードをインストルメント化でき、優先順位の低い実行のために CPU タスク (通常は PSO 再コンパイル) を D3D ランタイムに送信できます。 このモードの目的は、動的最適化を有効にすることですが、フォアグラウンド レンダリングのパフォーマンスには影響しません。
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOW_INTRUSIVE_MEASUREMENTS
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_ALLOW_INTRUSIVE_MEASUREMENTSは、現在発生しているレンダリングは特にトレーニング目的で実行されており、通常のスムーズなパフォーマンスで実行する必要がないため、ドライバーは、障害を回避するよりもインストルメンテーションの豊かさと完全性に優先順位を付ける必要があることを示唆しています。

この種の重み付けプロファイリングは、PIX などの分析ツールで使用されます。 また、ベンチマークを使用して、実際のパフォーマンス測定を行う前に最適化状態をウォームしたり、適切な時間にゲームで直接使用したりできます (たとえば、メニューの背後に非表示のコンテンツをレンダリングしてドライバーを事前トレーニングする)。
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_DISABLE_BACKGROUND_WORK
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_DISABLE_BACKGROUND_WORKバックグラウンド処理タスクの実行を禁止します。 このフラグを最初にオンにすると、既に進行中のタスクは完了まで実行できます。 UMD が送信したが、まだ実行を開始していないタスクは取り消され、既にこの状態にある間に QueueProcessingWorkCB 呼び出されると、キャンセル コールバックが直ちに呼び出されます。

もちろん、UMD は無効な状態の間にタスクの送信を完全にスキップすることを選択できますが、送信操作が失敗した場合、UMD が作業の送信とモードの変更の間の同期に煩わされるのを避けるために、ランタイムは送信操作を失敗させるのではなくキャンセルします。

D3D12DDI_MEASUREMENTS_ACTION_0062_COMMIT_*の指定と同時に無効フラグが有効になっている場合、コミット要求に応答して UMD によって生成される新しいタスクは、無効化が有効になる前に実行できます。

disable フラグは、開発者モードが有効になっている場合にのみ有効です。
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_DISABLE_ALL_PROFILING
これは、動的シェーダーの再コンパイルを中断するだけでなく、キャッシュ ポリシーやコンピューティング ディスパッチ パターンの動的なチューニングなど、パフォーマンスを低下させる動作変更をドライバーが行わないようにする必要があることを示します。 これは、A/B 比較で安定したタイミング結果を提供する必要があるプロファイリング セッション中に使用するために使用されます。

このフラグは、開発者モードが有効になっている場合にのみ有効です。

必要条件

要件 価値
サポートされる最小クライアント Windows 10 バージョン 1903
ヘッダー d3d12umddi.h