Files
XCEngine/docs/api/rhi/d3d12/command-queue/execute-command-lists.md
2026-03-20 02:35:45 +08:00

1019 B
Raw Blame History

D3D12CommandQueue::ExecuteCommandLists

void ExecuteCommandLists(uint32_t count, void** lists) override;

将指定数量的命令列表提交到命令队列执行。所有命令列表将在 GPU 上按提交顺序串行执行。

参数:

  • count - 命令列表数量,为正整数
  • lists - 命令列表指针数组,每个元素类型为 ID3D12CommandList*

返回:

线程安全: 可从任意线程调用,建议从单线程提交以保证顺序

复杂度: O(1) 提交O(n) GPU 执行n 为命令数量)

注意: 此方法会阻塞调用线程直到命令列表提交完成GPU 实际执行是异步的。

示例

ID3D12CommandList* lists[2];
lists[0] = commandList1->GetCommandList();
lists[1] = commandList2->GetCommandList();

commandQueue.ExecuteCommandLists(2, reinterpret_cast<void**>(lists));

相关文档