D3D12DDI_BACKGROUND_PROCESSING_MODE_0062列舉 (d3d12umddi.h)
指出已啟用背景處理之動態分析與著色器重新編譯的層級。
根據預設,運行時間會一次排程最多一個背景編譯工作,以閑置優先順序執行,以將這項工作的風險降到最低,將問題引入前景轉譯。
開發人員和分析工具可以使用這些列舉值的組合來調整此行為。
語法
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 為了回應認可要求而產生的任何新工作,都會在停用生效之前執行。 停用旗標只有在啟用開發人員模式時才有效。 |
D3D12DDI_BACKGROUND_PROCESSING_MODE_0062_DISABLE_ALL_PROFILING 除了暫停動態著色器重新編譯之外,這表示驅動程序應該避免進行任何行為變更,以干擾效能,例如動態調整快取原則或計算分派模式。 這是在分析會話期間使用,其中 A/B 比較必須提供穩定的計時結果。 只有在啟用開發人員模式時,此旗標才有效。 |
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 10 版本 1903 |
標頭 | d3d12umddi.h |