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:
2026-03-19 00:31:14 +08:00
parent dc850d7739
commit a9f882f233
54 changed files with 362 additions and 79 deletions

View File

@@ -34,7 +34,7 @@ for (auto& [key, value] : map) {
}
// 常量迭代器
for (auto it = map.cbegin(); it != map.cend(); ++it) {
for (auto it = map.begin(); it != map.end(); ++it) {
std::cout << it->first << " -> " << it->second << std::endl;
}
```

View File

@@ -4,7 +4,6 @@
String();
String(const char* str);
String(const char* str, SizeType len);
String(const char* str, size_t len); // alias
String(const String& other);
String(String&& other) noexcept;
```

View File

@@ -17,7 +17,7 @@
| 方法 | 描述 |
|------|------|
| `RefCounted()` | 构造函数,初始引用计数为 1 |
| `virtual ~RefCounted()` | 虚析构函数 |
| `protected virtual ~RefCounted()` | 虚析构函数(受保护,不允许直接删除) |
### 引用计数
@@ -31,7 +31,6 @@
| 方法 | 描述 |
|------|------|
| [RefCounted](RefCounted.md) | 构造函数 |
| [AddRef](AddRef.md) | 增加引用计数 |
| [Release](Release.md) | 减少引用计数 |
| [GetRefCount](GetRefCount.md) | 获取当前引用计数 |

View File

@@ -20,7 +20,7 @@ const char* LogLevelToString(LogLevel level)
XCEngine::Debug::LogLevel level = XCEngine::Debug::LogLevel::Error;
const char* str = XCEngine::Debug::LogLevelToString(level);
// str == "Error"
// str == "ERROR"
```
## 相关文档

View File

@@ -39,7 +39,7 @@ struct Quaternion {
| [Dot(other)](dot.md) | `float` | 点积 |
| [Magnitude()](magnitude.md) | `float` | 模长 |
| [Normalized()](normalized.md) | `Quaternion` | 归一化 |
| [Normalize(q)](../vector2/normalize.md) | `Quaternion` | 归一化(静态) |
| [Normalize(q)](normalized.md) | `Quaternion` | 归一化(静态) |
## 运算符

View File

@@ -17,7 +17,7 @@ virtual void* Allocate(size_t size, size_t alignment = 0) = 0;
**示例:**
```cpp
#include <XCEngine/Memory/IAllocator.h>
#include <XCEngine/Memory/Allocator.h>
class MyAllocator : public IAllocator {
public:

View File

@@ -16,7 +16,7 @@ virtual void Free(void* ptr) = 0;
**示例:**
```cpp
#include <XCEngine/Memory/IAllocator.h>
#include <XCEngine/Memory/Allocator.h>
class MyAllocator : public IAllocator {
public:

View File

@@ -15,7 +15,7 @@ virtual size_t GetAllocationCount() const = 0;
**示例:**
```cpp
#include <XCEngine/Memory/IAllocator.h>
#include <XCEngine/Memory/Allocator.h>
class MyAllocator : public IAllocator {
size_t m_count = 0;

View File

@@ -15,7 +15,7 @@ virtual const char* GetName() const = 0;
**示例:**
```cpp
#include <XCEngine/Memory/IAllocator.h>
#include <XCEngine/Memory/Allocator.h>
class MyAllocator : public IAllocator {
public:

View File

@@ -15,7 +15,7 @@ virtual size_t GetPeakAllocated() const = 0;
**示例:**
```cpp
#include <XCEngine/Memory/IAllocator.h>
#include <XCEngine/Memory/Allocator.h>
class MyAllocator : public IAllocator {
size_t m_peak = 0;

View File

@@ -15,7 +15,7 @@ virtual size_t GetTotalAllocated() const = 0;
**示例:**
```cpp
#include <XCEngine/Memory/IAllocator.h>
#include <XCEngine/Memory/Allocator.h>
class MyAllocator : public IAllocator {
size_t m_allocated = 0;

View File

@@ -15,7 +15,7 @@ virtual size_t GetTotalFreed() const = 0;
**示例:**
```cpp
#include <XCEngine/Memory/IAllocator.h>
#include <XCEngine/Memory/Allocator.h>
class MyAllocator : public IAllocator {
size_t m_freed = 0;

View File

@@ -17,7 +17,7 @@ virtual void* Reallocate(void* ptr, size_t newSize) = 0;
**示例:**
```cpp
#include <XCEngine/Memory/IAllocator.h>
#include <XCEngine/Memory/Allocator.h>
class MyAllocator : public IAllocator {
public:

View File

@@ -4,13 +4,13 @@
void* Reallocate(void* ptr, size_t newSize) override;
```
在缓冲区当前位置分配新内存。此方法始终在缓冲区末尾分配新内存,而不是尝试调整现有块的大小。返回的指针可能与输入的 `ptr` 不同。如果剩余空间不足,返回 `nullptr` 且原指针保持不变
线性分配器不支持重新分配。此方法始终返回 `nullptr`,原内存块保持不变。由于线性分配器的顺序分配特性,无法调整现有块的大小
**参数:**
- `ptr` - 被忽略(始终分配新内存
- `newSize` - 新请求的字节数
- `ptr` - 不被使用(始终返回 nullptr
- `newSize` - 不被使用(始终返回 nullptr
**返回:** 分配成功返回新内存指针,失败返回 `nullptr`
**返回:** 始终返回 `nullptr`
**复杂度:** O(1)
@@ -22,11 +22,12 @@ void* Reallocate(void* ptr, size_t newSize) override;
LinearAllocator allocator(1024);
void* ptr1 = allocator.Allocate(128);
// Reallocate 忽略原 ptr在当前位置分配新内存
// Reallocate 不支持,始终返回 nullptr
void* ptr2 = allocator.Reallocate(ptr1, 256);
// ptr1 和 ptr2 可能相同也可能不同
// 都不会被释放,新内存始终在缓冲区末尾分配
if (!ptr2) {
// 线性分配器不支持重新分配
// ptr1 仍然有效
}
```
## 相关文档

View File

@@ -4,7 +4,7 @@
void Free(void* ptr) override;
```
释放内存并记录统计。调用转发到底层分配器,同时更新统计信息:增加总释放计数(而非字节大小,因为 ProxyAllocator 不记录释放的字节数),并递减当前分配计数
释放内存并记录统计。调用转发到底层分配器,同时更新统计信息:递增 `totalFreed`(累加当前分配计数),并递减 `allocationCount`。由于 ProxyAllocator 不记录单独释放的字节数`totalFreed` 累加的是 `allocationCount` 而非实际字节大小
**参数:**
- `ptr` - 指向要释放的内存块
@@ -29,6 +29,8 @@ proxy.Free(p1);
proxy.Free(p2);
const auto& stats = proxy.GetStats();
// totalFreed 累加了每次释放时的 allocationCount
// allocationCount 最终为 0
printf("Total allocated: %zu, Total freed: %zu, Current: %zu\n",
stats.totalAllocated, stats.totalFreed,
stats.totalAllocated - stats.totalFreed);

View File

@@ -4,13 +4,13 @@
void* Reallocate(void* ptr, size_t newSize) override;
```
重新分配内存并记录统计。调用转发到底层分配器。此方法仅更新 totalAllocated 统计为新大小,不记录原内存的释放(这是简化实现)。如果底层分配失败返回 `nullptr`,但原指针仍然有效
重新分配内存。调用直接转发到底层分配器,不记录任何统计信息(简化实现)。此方法仅将调用转发给底层分配器
**参数:**
- `ptr` - 现有内存块指针
- `newSize` - 新的字节大小
**返回:** 成功返回新指针,失败返回 `nullptr`
**返回:** 成功返回新指针,失败返回 `nullptr`(由底层分配器决定)
**复杂度:** O(n)(底层分配器 + 数据复制)
@@ -28,8 +28,6 @@ void* p2 = proxy.Reallocate(p1, 256);
if (p2) {
// 重新分配成功
const auto& stats = proxy.GetStats();
printf("Reallocated: %zu bytes total\n", stats.totalAllocated);
} else {
// 失败p1 仍然有效
}

View File

@@ -12,7 +12,7 @@ bool Create(Core::uint32 width, Core::uint32 height, Core::uint32 depth,
- `width` - 纹理宽度(像素)
- `height` - 纹理高度(像素)
- `depth` - 纹理深度3D 纹理设为 1
- `mipLevels` - Mipmap 级别数0 表示自动生成所有级别)
- `mipLevels` - Mipmap 级别数
- `type` - 纹理类型
- `format` - 纹理格式
- `data` - 像素数据指针

View File

@@ -41,7 +41,7 @@
| 方法 | 文档 |
|------|------|
| `Shutdown` | [详细文档](../../threading/task-system/shutdown.md) |
| `Shutdown` | [详细文档](shutdown.md) |
### 其他

View File

@@ -40,6 +40,18 @@
| `maxAnisotropy` | `uint32_t` | 最大各向异性级别 |
| `maxColorAttachments` | `uint32_t` | 最大颜色附件数量 |
### 线宽和点大小
| 成员 | 类型 | 描述 |
|------|------|------|
| `minSmoothedLineWidth` | `float` | 最小平滑线宽 |
| `maxSmoothedLineWidth` | `float` | 最大平滑线宽 |
| `minPointSize` | `float` | 最小点大小 |
| `maxPointSize` | `float` | 最大点大小 |
| `maxPointSizeAA` | `float` | 抗锯齿最大点大小 |
| `maxLineWidth` | `float` | 最大线宽 |
| `maxLineWidthAA` | `float` | 抗锯齿最大线宽 |
### 版本信息
| 成员 | 类型 | 描述 |

View File

@@ -0,0 +1,20 @@
# RHICommandList::Clear
```cpp
virtual void Clear(float r, float g, float b, float a, uint32_t buffers) = 0;
```
清除渲染目标。
**参数:**
- `r` - 红色分量
- `g` - 绿色分量
- `b` - 蓝色分量
- `a` - Alpha 分量
- `buffers` - 要清除的缓冲区标志
**复杂度:** O(1)
## 相关文档
- [RHICommandList 总览](command-list.md) - 返回类总览

View File

@@ -0,0 +1,13 @@
# RHICommandList::Close
```cpp
virtual void Close() = 0;
```
关闭命令列表以执行。
**复杂度:** O(1)
## 相关文档
- [RHICommandList 总览](command-list.md) - 返回类总览

View File

@@ -12,8 +12,8 @@
| 方法 | 文档 |
|------|------|
| `Reset` | [详细文档](../../resources/resourcehandle/reset.md) |
| `Close` | [详细文档](../../core/filewriter/close.md) |
| `Reset` | [详细文档](reset.md) |
| `Close` | [详细文档](close.md) |
### 资源状态转换
@@ -61,7 +61,7 @@
| 方法 | 文档 |
|------|------|
| `Clear` | [详细文档](../../memory/linear-allocator/clear.md) |
| `Clear` | [详细文档](clear.md) |
| `ClearRenderTarget` | [详细文档](clear-render-target.md) |
| `ClearDepthStencil` | [详细文档](clear-depth-stencil.md) |

View File

@@ -0,0 +1,13 @@
# RHICommandList::Reset
```cpp
virtual void Reset() = 0;
```
重置命令列表以重新录制。
**复杂度:** O(1)
## 相关文档
- [RHICommandList 总览](command-list.md) - 返回类总览

View File

@@ -12,7 +12,7 @@
| 方法 | 文档 |
|------|------|
| `Shutdown` | [详细文档](../../threading/task-system/shutdown.md) |
| `Shutdown` | [详细文档](shutdown.md) |
### 命令执行
@@ -20,7 +20,7 @@
|------|------|
| `ExecuteCommandLists` | [详细文档](execute-command-lists.md) |
| `Signal` | [详细文档](signal.md) |
| `Wait` | [详细文档](../../threading/task-group/wait.md) |
| `Wait` | [详细文档](methods.md) |
| `GetCompletedValue` | [详细文档](get-completed-value.md) |
| `WaitForIdle` | [详细文档](wait-for-idle.md) |
@@ -28,14 +28,14 @@
| 方法 | 文档 |
|------|------|
| `GetType` | [详细文档](../shader/get-type.md) |
| `GetType` | [详细文档](get-type.md) |
| `GetTimestampFrequency` | [详细文档](get-timestamp-frequency.md) |
### 其他
| 方法 | 文档 |
|------|------|
| `GetNativeHandle` | [详细文档](../buffer/get-native-handle.md) |
| `GetNativeHandle` | [详细文档](get-native-handle.md) |
## 命令队列类型 (CommandQueueType)

View File

@@ -0,0 +1,15 @@
# RHICommandQueue::GetNativeHandle
```cpp
virtual void* GetNativeHandle() = 0;
```
获取原生 API 句柄。
**返回:** 原生命令队列句柄
**复杂度:** O(1)
## 相关文档
- [RHICommandQueue 总览](command-queue.md) - 返回类总览

View File

@@ -0,0 +1,15 @@
# RHICommandQueue::GetType
```cpp
virtual CommandQueueType GetType() const = 0;
```
获取命令队列类型。
**返回:** 命令队列类型枚举值
**复杂度:** O(1)
## 相关文档
- [RHICommandQueue 总览](command-queue.md) - 返回类总览

View File

@@ -0,0 +1,13 @@
# RHICommandQueue::Shutdown
```cpp
virtual void Shutdown() = 0;
```
关闭命令队列,释放所有相关资源。
**复杂度:** O(n) - 取决于管理的命令列表数量
## 相关文档
- [RHICommandQueue 总览](command-queue.md) - 返回类总览

View File

@@ -12,14 +12,14 @@
| 方法 | 文档 |
|------|------|
| `Shutdown` | [详细文档](../../threading/task-system/shutdown.md) |
| `Shutdown` | [详细文档](shutdown.md) |
### 同步操作
| 方法 | 文档 |
|------|------|
| `Signal` | [详细文档](../command-queue/signal.md) |
| `Wait` | [详细文档](../../threading/task-group/wait.md) |
| `Wait` | [详细文档](methods.md) |
| `GetCompletedValue` | [详细文档](../command-queue/get-completed-value.md) |
| `IsSignaled` | [详细文档](is-signaled.md) |
@@ -27,7 +27,7 @@
| 方法 | 文档 |
|------|------|
| `GetNativeHandle` | [详细文档](../buffer/get-native-handle.md) |
| `GetNativeHandle` | [详细文档](get-native-handle.md) |
## 使用示例

View File

@@ -0,0 +1,15 @@
# RHIFence::GetNativeHandle
```cpp
virtual void* GetNativeHandle() = 0;
```
获取原生 API 句柄。
**返回:** 原生栅栏句柄
**复杂度:** O(1)
## 相关文档
- [RHIFence 总览](fence.md) - 返回类总览

View File

@@ -0,0 +1,13 @@
# RHIFence::Shutdown
```cpp
virtual void Shutdown() = 0;
```
释放栅栏资源。
**复杂度:** O(1)
## 相关文档
- [RHIFence 总览](fence.md) - 返回类总览

View File

@@ -0,0 +1,15 @@
# RHIPipelineLayout::GetNativeHandle
```cpp
virtual void* GetNativeHandle() = 0;
```
获取原生 API 句柄。
**返回:** 原生管线布局句柄
**复杂度:** O(1)
## 相关文档
- [RHIPipelineLayout 总览](pipeline-layout.md) - 返回类总览

View File

@@ -0,0 +1,18 @@
# RHIPipelineLayout::Initialize
```cpp
virtual bool Initialize(const RHIPipelineLayoutDesc& desc) = 0;
```
初始化管线布局。
**参数:**
- `desc` - 管线布局描述符
**返回:** 成功返回 `true`,失败返回 `false`
**复杂度:** O(1)
## 相关文档
- [RHIPipelineLayout 总览](pipeline-layout.md) - 返回类总览

View File

@@ -12,14 +12,14 @@
| 方法 | 文档 |
|------|------|
| `Initialize` | [详细文档](../../threading/task-system/initialize.md) |
| `Shutdown` | [详细文档](../../threading/task-system/shutdown.md) |
| `Initialize` | [详细文档](initialize.md) |
| `Shutdown` | [详细文档](shutdown.md) |
### 其他
| 方法 | 文档 |
|------|------|
| `GetNativeHandle` | [详细文档](../buffer/get-native-handle.md) |
| `GetNativeHandle` | [详细文档](get-native-handle.md) |
## 相关文档

View File

@@ -0,0 +1,13 @@
# RHIPipelineLayout::Shutdown
```cpp
virtual void Shutdown() = 0;
```
释放管线布局资源。
**复杂度:** O(1)
## 相关文档
- [RHIPipelineLayout 总览](pipeline-layout.md) - 返回类总览

View File

@@ -0,0 +1,15 @@
# RHIPipelineState::GetNativeHandle
```cpp
virtual void* GetNativeHandle() = 0;
```
获取原生 API 句柄。
**返回:** 原生管线状态句柄
**复杂度:** O(1)
## 相关文档
- [RHIPipelineState 总览](pipeline-state.md) - 返回类总览

View File

@@ -0,0 +1,15 @@
# RHIPipelineState::GetType
```cpp
virtual PipelineType GetType() const = 0;
```
获取管线类型。
**返回:** 管线类型枚举值
**复杂度:** O(1)
## 相关文档
- [RHIPipelineState 总览](pipeline-state.md) - 返回类总览

View File

@@ -12,21 +12,21 @@
| 方法 | 文档 |
|------|------|
| `Shutdown` | [详细文档](../../threading/task-system/shutdown.md) |
| `Shutdown` | [详细文档](shutdown.md) |
### 绑定/解绑
| 方法 | 文档 |
|------|------|
| `Bind` | [详细文档](../shader/bind.md) |
| `Unbind` | [详细文档](../shader/unbind.md) |
| `Bind` | [详细文档](methods.md) |
| `Unbind` | [详细文档](methods.md) |
### 属性访问
| 方法 | 文档 |
|------|------|
| `GetNativeHandle` | [详细文档](../buffer/get-native-handle.md) |
| `GetType` | [详细文档](../shader/get-type.md) |
| `GetNativeHandle` | [详细文档](get-native-handle.md) |
| `GetType` | [详细文档](get-type.md) |
## 管线类型 (PipelineType)

View File

@@ -0,0 +1,13 @@
# RHIPipelineState::Shutdown
```cpp
virtual void Shutdown() = 0;
```
释放管线状态对象资源。
**复杂度:** O(1)
## 相关文档
- [RHIPipelineState 总览](pipeline-state.md) - 返回类总览

View File

@@ -0,0 +1,15 @@
# RHISampler::GetNativeHandle
```cpp
virtual void* GetNativeHandle() = 0;
```
获取原生 API 句柄。
**返回:** 原生采样器句柄
**复杂度:** O(1)
## 相关文档
- [RHISampler 总览](sampler.md) - 返回类总览

View File

@@ -12,20 +12,20 @@
| 方法 | 文档 |
|------|------|
| `Shutdown` | [详细文档](../../threading/task-system/shutdown.md) |
| `Shutdown` | [详细文档](shutdown.md) |
### 绑定/解绑
| 方法 | 文档 |
|------|------|
| `Bind` | [详细文档](../shader/bind.md) |
| `Unbind` | [详细文档](../shader/unbind.md) |
| `Bind` | [详细文档](methods.md) |
| `Unbind` | [详细文档](methods.md) |
### 属性访问
| 方法 | 文档 |
|------|------|
| `GetNativeHandle` | [详细文档](../buffer/get-native-handle.md) |
| `GetNativeHandle` | [详细文档](get-native-handle.md) |
| `GetID` | [详细文档](get-id.md) |
## 相关文档

View File

@@ -0,0 +1,13 @@
# RHISampler::Shutdown
```cpp
virtual void Shutdown() = 0;
```
释放采样器资源。
**复杂度:** O(1)
## 相关文档
- [RHISampler 总览](sampler.md) - 返回类总览

View File

@@ -43,13 +43,13 @@
| 方法 | 文档 |
|------|------|
| `Shutdown` | [详细文档](../../threading/task-system/shutdown.md) |
| `Shutdown` | [详细文档](shutdown.md) |
### 其他
| 方法 | 文档 |
|------|------|
| `GetNativeHandle` | [详细文档](../buffer/get-native-handle.md) |
| `GetNativeHandle` | [详细文档](get-native-handle.md) |
## 着色器类型 (ShaderType)

View File

@@ -0,0 +1,15 @@
# RHISwapChain::GetNativeHandle
```cpp
virtual void* GetNativeHandle() = 0;
```
获取原生 API 句柄。
**返回:** 原生交换链句柄
**复杂度:** O(1)
## 相关文档
- [RHISwapChain 总览](swap-chain.md) - 返回类总览

View File

@@ -0,0 +1,13 @@
# RHISwapChain::Shutdown
```cpp
virtual void Shutdown() = 0;
```
关闭交换链,释放所有相关资源。
**复杂度:** O(n) - 取决于管理的缓冲区数量
## 相关文档
- [RHISwapChain 总览](swap-chain.md) - 返回类总览

View File

@@ -12,7 +12,7 @@
| 方法 | 文档 |
|------|------|
| `Shutdown` | [详细文档](../../threading/task-system/shutdown.md) |
| `Shutdown` | [详细文档](shutdown.md) |
### 交换链操作
@@ -21,7 +21,7 @@
| `GetCurrentBackBufferIndex` | [详细文档](get-current-back-buffer-index.md) |
| `GetCurrentBackBuffer` | [详细文档](get-current-back-buffer.md) |
| `Present` | [详细文档](present.md) |
| `Resize` | [详细文档](../../containers/array/resize.md) |
| `Resize` | [详细文档](methods.md) |
### 全屏模式
@@ -42,7 +42,7 @@
| 方法 | 文档 |
|------|------|
| `GetNativeHandle` | [详细文档](../buffer/get-native-handle.md) |
| `GetNativeHandle` | [详细文档](get-native-handle.md) |
## 使用示例

View File

@@ -23,22 +23,22 @@
| 方法 | 文档 |
|------|------|
| `GetState` | [详细文档](../buffer/get-state.md) |
| `SetState` | [详细文档](../buffer/set-state.md) |
| `GetState` | [详细文档](get-state.md) |
| `SetState` | [详细文档](set-state.md) |
### 生命周期
| 方法 | 文档 |
|------|------|
| `Shutdown` | [详细文档](../../threading/task-system/shutdown.md) |
| `Shutdown` | [详细文档](shutdown.md) |
### 其他
| 方法 | 文档 |
|------|------|
| `GetNativeHandle` | [详细文档](../buffer/get-native-handle.md) |
| `GetName` | [详细文档](../buffer/get-name.md) |
| `SetName` | [详细文档](../buffer/set-name.md) |
| `GetNativeHandle` | [详细文档](get-native-handle.md) |
| `GetName` | [详细文档](get-name.md) |
| `SetName` | [详细文档](set-name.md) |
## 纹理类型 (TextureType)

View File

@@ -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",

View File

@@ -6,11 +6,13 @@
**头文件**: `XCEngine/Threading/TaskSystem.h`
**描述**: 并行任务调度系统单例,提供工作窃取式任务队列和并行 for 循环
**描述**: 并行任务调度系统单例,提供优先级任务队列
## 概述
`TaskSystem` 是 XCEngine 的核心并行任务调度系统。它创建多个工作线程,使用优先级队列和工作窃取算法调度任务。它还提供 `ParallelFor` 方法用于数据级并行,以及主线程任务队列。
`TaskSystem` 是 XCEngine 的核心并行任务调度系统。它创建多个工作线程,使用优先级队列调度任务。它还提供 `ParallelFor` 方法用于数据级并行,以及主线程任务队列。
**注意:** 当前实现的 `stealTasks` 配置项未生效,任务系统使用单一全局任务队列而非工作窃取模式。
## 单例访问

View File

@@ -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` 代替此方法。
**示例:**

View File

@@ -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
```

View File

@@ -10,11 +10,13 @@ uint32_t maxTaskQueueSize = 1024
**默认值:** `1024`
**当前状态:** 此配置项当前未实际强制限制,任务队列可以无限增长(受系统内存限制)。
**示例:**
```cpp
TaskSystemConfig config;
config.maxTaskQueueSize = 4096; // 允许更大的队列
config.maxTaskQueueSize = 4096; // 预留配置项(当前未强制限制)
```
## 相关文档

View File

@@ -10,12 +10,14 @@ bool stealTasks = true
**默认值:** `true`
**当前状态:** 此配置项当前未实际实现,工作窃取功能不可用。所有工作线程仅从全局任务队列获取任务。
**示例:**
```cpp
TaskSystemConfig config;
config.workerThreadCount = 8;
config.stealTasks = true; // 启用工作窃取以获得更好负载均衡
config.stealTasks = true; // 预留配置项(当前未实现)
```
## 相关文档

View File

@@ -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 |
## 使用示例

View File

@@ -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; // 使用系统默认