ID3D12Debug3::SetEnableSynchronizedCommandQueueValidation 方法 (d3d12sdklayers.h)
使用已啟用偵錯層的 Direct3D 12 裝置時,啟用或停用相依的命令佇列同步處理。
語法
void SetEnableSynchronizedCommandQueueValidation(
BOOL Enable
);
參數
Enable
類型: BOOL
TRUE 表示啟用相依命令佇列同步處理,否則為 FALSE。
傳回值
無
備註
相依命令佇列同步處理是 D3D12 偵錯層功能,可讓偵錯層在啟用時更精確地追蹤資源狀態。 依預設會啟用相依命令佇列同步處理。
啟用相依命令佇列同步處理時,偵錯層會保留 GPU 工作的實際提交,直到符合所有未完成的柵欄 等候 條件為止。 這可讓偵錯層能夠合理假設 GPU 狀態 (,例如當多個命令佇列可能執行並行工作時,CPU 時間軸上的資源狀態) 。
停用相依命令佇列同步處理后,每次呼叫 ID3D12CommandQueue::Signal 時,都會清除偵錯層追蹤的所有資源狀態。 這會導致資源狀態驗證大幅降低。
使用多個命令佇列時,停用相依的命令佇列同步處理可能會降低一些偵錯層效能額外負荷。 不過,除非此額外負荷有問題,否則建議將其保持啟用狀態。 請注意,僅使用單一命令佇列的應用程式不會看到相依命令佇列同步處理已停用的效能變更。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 組建 20348 |
最低支援的伺服器 | Windows 10 組建 20348 |
目標平台 | Windows |
標頭 | d3d12sdklayers.h |