docs: 重构 API 文档结构并修正源码准确性
- 重组文档目录结构: 每个模块的概述页移动到模块子目录
- 重命名 index.md 为 main.md
- 修正所有模块文档中的错误:
- math: FromEuler→FromEulerAngles, TransformDirection 包含缩放, Box 是 OBB, Color::ToRGBA 格式
- containers: 新增 operator==/!= 文档, 补充 std::hash DJB 算法细节
- core: 修复 types 链接错误
- debug: LogLevelToString 返回大写, timestamp 是秒, Profiler 空实现标注, Windows API vs ANSI
- memory: 修复头文件路径, malloc vs operator new, 新增方法文档
- resources: 修复 Shader/Texture 链接错误
- threading: TaskSystem::Wait 空实现标注, ReadWriteLock 重入描述, LambdaTask 链接
- 验证: fix_links.py 确认 0 个断裂引用
2026-03-19 00:22:30 +08:00
|
|
|
# D3D12CommandQueue::WaitForIdle
|
|
|
|
|
|
|
|
|
|
```cpp
|
|
|
|
|
void WaitForIdle() override;
|
|
|
|
|
```
|
|
|
|
|
|
2026-03-20 02:35:45 +08:00
|
|
|
阻塞当前线程,直到命令队列中所有已提交的命令全部执行完成。该方法会强制 GPU 等待所有待处理命令完成后才返回。
|
docs: 重构 API 文档结构并修正源码准确性
- 重组文档目录结构: 每个模块的概述页移动到模块子目录
- 重命名 index.md 为 main.md
- 修正所有模块文档中的错误:
- math: FromEuler→FromEulerAngles, TransformDirection 包含缩放, Box 是 OBB, Color::ToRGBA 格式
- containers: 新增 operator==/!= 文档, 补充 std::hash DJB 算法细节
- core: 修复 types 链接错误
- debug: LogLevelToString 返回大写, timestamp 是秒, Profiler 空实现标注, Windows API vs ANSI
- memory: 修复头文件路径, malloc vs operator new, 新增方法文档
- resources: 修复 Shader/Texture 链接错误
- threading: TaskSystem::Wait 空实现标注, ReadWriteLock 重入描述, LambdaTask 链接
- 验证: fix_links.py 确认 0 个断裂引用
2026-03-19 00:22:30 +08:00
|
|
|
|
2026-03-20 02:35:45 +08:00
|
|
|
**返回:** 无
|
|
|
|
|
|
|
|
|
|
**复杂度:** O(n),其中 n 为待处理命令的数量
|
|
|
|
|
|
|
|
|
|
**使用场景:**
|
|
|
|
|
- 帧同步:确保一帧的所有渲染命令完成后再进行下一步操作
|
|
|
|
|
- 资源管理:确保 GPU 不再使用某个资源后再释放
|
|
|
|
|
- 调试:等待特定命令完成以便进行 GPU 调试
|
|
|
|
|
|
|
|
|
|
**注意:** 这是一个阻塞调用,会暂停 CPU 线程直到 GPU 完成所有命令。频繁调用可能影响性能。
|
|
|
|
|
|
|
|
|
|
## 示例
|
|
|
|
|
|
|
|
|
|
```cpp
|
|
|
|
|
// 提交渲染命令
|
|
|
|
|
commandQueue.ExecuteCommandLists(count, lists);
|
|
|
|
|
|
|
|
|
|
// 等待所有命令完成
|
|
|
|
|
commandQueue.WaitForIdle();
|
|
|
|
|
|
|
|
|
|
// 此时可以安全地释放命令列表使用的资源
|
|
|
|
|
```
|
docs: 重构 API 文档结构并修正源码准确性
- 重组文档目录结构: 每个模块的概述页移动到模块子目录
- 重命名 index.md 为 main.md
- 修正所有模块文档中的错误:
- math: FromEuler→FromEulerAngles, TransformDirection 包含缩放, Box 是 OBB, Color::ToRGBA 格式
- containers: 新增 operator==/!= 文档, 补充 std::hash DJB 算法细节
- core: 修复 types 链接错误
- debug: LogLevelToString 返回大写, timestamp 是秒, Profiler 空实现标注, Windows API vs ANSI
- memory: 修复头文件路径, malloc vs operator new, 新增方法文档
- resources: 修复 Shader/Texture 链接错误
- threading: TaskSystem::Wait 空实现标注, ReadWriteLock 重入描述, LambdaTask 链接
- 验证: fix_links.py 确认 0 个断裂引用
2026-03-19 00:22:30 +08:00
|
|
|
|
|
|
|
|
## 相关文档
|
|
|
|
|
|
|
|
|
|
- [D3D12CommandQueue 总览](command-queue.md) - 返回类总览
|
2026-03-20 02:35:45 +08:00
|
|
|
- [Signal](signal.md) - 向栅栏发送信号
|
|
|
|
|
- [Wait](signal.md) - 等待栅栏达到指定值
|