Files
XCEngine/docs/api/XCEngine/RHI/D3D12/D3D12CommandQueue/Wait.md

884 B
Raw Blame History

D3D12CommandQueue::Wait

void Wait(RHIFence* fence, uint64_t value) override;
void Wait(ID3D12Fence* fence, uint64_t value);

作用

让当前队列等待指定 fence 到达目标值。

参数说明

  • fence: 目标 fence可以是 RHIFence* 或原生 ID3D12Fence*
  • value: 目标 fence 值。

当前实现行为

Wait(RHIFence* fence, uint64_t value)

  • 如果 fence 非空,将其转为 D3D12Fence*
  • 然后调用 m_commandQueue->Wait(nativeFence, value)

Wait(ID3D12Fence* fence, uint64_t value)

  • 如果 fence 非空,直接调用底层队列的 Wait()

设计说明

  • 这是 GPU 队列级等待,不会阻塞 CPU 线程。
  • 如果你要阻塞 CPU 等待 fence应使用 D3D12Fence::Wait

相关文档