# D3D12CommandQueue **命名空间**: `XCEngine::RHI` **类型**: `class` **头文件**: `XCEngine/RHI/D3D12/D3D12CommandQueue.h` **描述**: DirectX 12 命令队列封装类,负责提交命令列表到 GPU 执行 ## 概述 D3D12CommandQueue 是 DirectX 12 命令队列的封装类,继承自 RHICommandQueue 接口。它负责将录制好的命令列表提交到 GPU 执行,支持 GPU/CPU 同步操作,如信号、等待等。命令队列是渲染管线的核心组件,所有渲染命令都通过命令队列提交到 GPU。 ## 公共方法 | 方法 | 描述 | |------|------| | `D3D12CommandQueue()` | 默认构造函数 | | `~D3D12CommandQueue()` | 虚析构函数 | ## 使用示例 ```cpp #include using namespace XCEngine::RHI; // 创建命令队列 D3D12CommandQueue commandQueue; commandQueue.Initialize(device, CommandQueueType::Direct); // 执行命令列表 ID3D12CommandList* lists[] = { commandList->GetCommandList() }; commandQueue.ExecuteCommandListsInternal(1, lists); // 信号同步 commandQueue.Signal(fence, frameIndex); commandQueue.WaitForPreviousFrame(); // 等待空闲 commandQueue.WaitForIdle(); // 关闭 commandQueue.Shutdown(); ``` ## 相关文档 - [D3D12 模块概览](d3d12.md) - D3D12 模块总览 - [D3D12CommandList](d3d12-command-list.md) - 命令列表