修复问题: - containers: HashMap 实现描述修正 - debug: XE_LOG 宏参数顺序修正 - memory: ProxyAllocator 统计示例修正, PoolAllocator allocate size 检查描述 - resources: ResourceManager 缺失 UnloadGroup 方法 - rhi: D3D12 格式枚举名称修正, Texture Format 枚举补全, ResourceStates 补充 - threading: TaskGroup GetProgress/Wait/Cancel 实现限制说明
39 lines
864 B
Markdown
39 lines
864 B
Markdown
# TaskGroup::GetProgress
|
||
|
||
```cpp
|
||
float GetProgress() const
|
||
```
|
||
|
||
获取任务组的完成进度。
|
||
|
||
**参数:** 无
|
||
|
||
**返回:** `float` - 进度值,范围 0.0f ~ 1.0f
|
||
|
||
**复杂度:** O(1)
|
||
|
||
**注意:** 当前实现中 `m_completedCount` 未被更新,此方法始终返回 0.0f(任务组为空时返回 1.0f)。此为实现限制。
|
||
|
||
**示例:**
|
||
|
||
```cpp
|
||
TaskGroup* group = TaskSystem::Get().CreateTaskGroup();
|
||
|
||
for (int i = 0; i < 1000; ++i) {
|
||
group->AddTask([i]() { ProcessItem(i); });
|
||
}
|
||
|
||
// 显示进度(注意:当前实现始终返回 0.0f)
|
||
while (!group->IsComplete()) {
|
||
float progress = group->GetProgress();
|
||
printf("\rProgress: %.1f%%", progress * 100.0f);
|
||
Thread::Sleep(100);
|
||
}
|
||
printf("\n");
|
||
```
|
||
|
||
## 相关文档
|
||
|
||
- [TaskGroup 总览](task-group.md) - 返回类总览
|
||
- [IsComplete](iscomplete.md) - 检查是否完成
|