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

另请参阅

ID3D12Debug3