docs: 修正 API 文档准确性 (第二轮检查)
修复的问题: - math: 修复 Quaternion::Normalize 链接错误 - containers: HashMap 迭代器示例使用不存在的 cbegin/cend,删除冗余构造函数声明 - core: RefCounted 析构函数访问级别修正 (protected) - debug: LogLevelToString 示例返回值大小写修正 - memory: 修正 LinearAllocator::Reallocate 返回 nullptr,ProxyAllocator 统计描述,头文件路径 IAllocator.h -> Allocator.h - resources: Texture::Create mipLevels 参数描述修正 - rhi: 修复多处链接错误,新增缺失的方法文档 - threading: TaskSystem 配置项未实现状态标注,Wait 方法空实现标注
This commit is contained in:
@@ -22,9 +22,9 @@ void Initialize(const TaskSystemConfig& config)
|
||||
```cpp
|
||||
TaskSystemConfig config;
|
||||
config.workerThreadCount = std::thread::hardware_concurrency();
|
||||
config.enableTaskProfiling = true;
|
||||
config.stealTasks = true;
|
||||
config.maxTaskQueueSize = 2048;
|
||||
config.enableTaskProfiling = true; // 预留配置项(当前未使用)
|
||||
config.stealTasks = true; // 预留配置项(当前未实现)
|
||||
config.maxTaskQueueSize = 2048; // 预留配置项(当前未强制限制)
|
||||
|
||||
TaskSystem::Get().Initialize(config);
|
||||
printf("TaskSystem started with %u workers\n",
|
||||
|
||||
@@ -6,11 +6,13 @@
|
||||
|
||||
**头文件**: `XCEngine/Threading/TaskSystem.h`
|
||||
|
||||
**描述**: 并行任务调度系统单例,提供工作窃取式任务队列和并行 for 循环。
|
||||
**描述**: 并行任务调度系统单例,提供优先级任务队列。
|
||||
|
||||
## 概述
|
||||
|
||||
`TaskSystem` 是 XCEngine 的核心并行任务调度系统。它创建多个工作线程,使用优先级队列和工作窃取算法调度任务。它还提供 `ParallelFor` 方法用于数据级并行,以及主线程任务队列。
|
||||
`TaskSystem` 是 XCEngine 的核心并行任务调度系统。它创建多个工作线程,使用优先级队列调度任务。它还提供 `ParallelFor` 方法用于数据级并行,以及主线程任务队列。
|
||||
|
||||
**注意:** 当前实现的 `stealTasks` 配置项未生效,任务系统使用单一全局任务队列而非工作窃取模式。
|
||||
|
||||
## 单例访问
|
||||
|
||||
|
||||
@@ -6,8 +6,6 @@ void Wait(uint64_t taskId)
|
||||
|
||||
**注意:** 此方法当前为空实现,不执行任何操作。
|
||||
|
||||
阻塞当前线程,等待指定任务完成(功能暂未实现)。
|
||||
|
||||
**参数:**
|
||||
- `taskId` - 要等待的任务 ID
|
||||
|
||||
@@ -15,7 +13,9 @@ void Wait(uint64_t taskId)
|
||||
|
||||
**复杂度:** N/A(空实现)
|
||||
|
||||
**建议:** 建议使用 `TaskGroup::Wait` 代替此方法。
|
||||
**当前状态:** 此方法为空实现,不执行任何操作。任务系统目前不支持按任务 ID 等待。
|
||||
|
||||
**建议:** 使用 `TaskGroup::Wait` 代替此方法。
|
||||
|
||||
**示例:**
|
||||
|
||||
|
||||
@@ -10,15 +10,17 @@ bool enableTaskProfiling = true
|
||||
|
||||
**默认值:** `true`
|
||||
|
||||
**当前状态:** 此配置项当前未实际使用,任务系统不会记录性能分析数据。
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
TaskSystemConfig config;
|
||||
config.workerThreadCount = 4;
|
||||
config.enableTaskProfiling = true; // 启用分析
|
||||
config.enableTaskProfiling = true; // 预留配置项
|
||||
|
||||
#ifdef NDEBUG
|
||||
config.enableTaskProfiling = false; // 发布版本关闭
|
||||
config.enableTaskProfiling = false; // 预留配置项
|
||||
#endif
|
||||
```
|
||||
|
||||
|
||||
@@ -10,11 +10,13 @@ uint32_t maxTaskQueueSize = 1024
|
||||
|
||||
**默认值:** `1024`
|
||||
|
||||
**当前状态:** 此配置项当前未实际强制限制,任务队列可以无限增长(受系统内存限制)。
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
TaskSystemConfig config;
|
||||
config.maxTaskQueueSize = 4096; // 允许更大的队列
|
||||
config.maxTaskQueueSize = 4096; // 预留配置项(当前未强制限制)
|
||||
```
|
||||
|
||||
## 相关文档
|
||||
|
||||
@@ -10,12 +10,14 @@ bool stealTasks = true
|
||||
|
||||
**默认值:** `true`
|
||||
|
||||
**当前状态:** 此配置项当前未实际实现,工作窃取功能不可用。所有工作线程仅从全局任务队列获取任务。
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
TaskSystemConfig config;
|
||||
config.workerThreadCount = 8;
|
||||
config.stealTasks = true; // 启用工作窃取以获得更好负载均衡
|
||||
config.stealTasks = true; // 预留配置项(当前未实现)
|
||||
```
|
||||
|
||||
## 相关文档
|
||||
|
||||
@@ -13,10 +13,10 @@
|
||||
| 成员 | 类型 | 描述 | 默认值 |
|
||||
|------|------|------|--------|
|
||||
| [`workerThreadCount`](workerthreadcount.md) | `uint32_t` | 工作线程数量(0=自动检测 CPU 核心数) | 0 |
|
||||
| [`enableTaskProfiling`](enabletaskprofiling.md) | `bool` | 启用任务性能分析 | true |
|
||||
| [`stealTasks`](stealtasks.md) | `bool` | 启用工作窃取(负载均衡) | true |
|
||||
| [`maxTaskQueueSize`](maxtaskqueuesize.md) | `uint32_t` | 最大任务队列大小 | 1024 |
|
||||
| [`threadStackSize`](threadstacksize.md) | `uint32_t` | 线程栈大小(0=系统默认) | 0 |
|
||||
| [`enableTaskProfiling`](enabletaskprofiling.md) | `bool` | 启用任务性能分析(当前未使用) | true |
|
||||
| [`stealTasks`](stealtasks.md) | `bool` | 启用工作窃取(当前未实现) | true |
|
||||
| [`maxTaskQueueSize`](maxtaskqueuesize.md) | `uint32_t` | 最大任务队列大小(当前未强制限制) | 1024 |
|
||||
| [`threadStackSize`](threadstacksize.md) | `uint32_t` | 线程栈大小(当前未使用,0=系统默认) | 0 |
|
||||
|
||||
## 使用示例
|
||||
|
||||
|
||||
@@ -10,12 +10,14 @@ uint32_t threadStackSize = 0
|
||||
|
||||
**默认值:** `0`(使用系统默认)
|
||||
|
||||
**当前状态:** 此配置项当前未实际使用,工作线程始终使用系统默认栈大小。
|
||||
|
||||
**示例:**
|
||||
|
||||
```cpp
|
||||
TaskSystemConfig config;
|
||||
config.workerThreadCount = 4;
|
||||
config.threadStackSize = 1024 * 1024; // 1MB 栈大小
|
||||
config.threadStackSize = 1024 * 1024; // 预留配置项(当前未实现)
|
||||
|
||||
TaskSystemConfig defaultConfig;
|
||||
defaultConfig.threadStackSize = 0; // 使用系统默认
|
||||
|
||||
Reference in New Issue
Block a user