docs: update core and debug API docs

This commit is contained in:
2026-03-20 02:35:07 +08:00
parent 0c073db4e8
commit e165dbea1c
73 changed files with 743 additions and 391 deletions

View File

@@ -6,6 +6,10 @@ void BeginFrame()
开始一帧的性能分析。记录当前帧的起始时间戳,用于计算帧级别的性能指标。应在每帧渲染开始时调用。
**返回:** `void`
**线程安全:** ✅ 线程安全
**复杂度:** O(1)
**示例:**

View File

@@ -9,6 +9,10 @@ void BeginProfile(const char* name)
**参数:**
- `name` - 分析块的名称,用于在导出结果中标识
**返回:** `void`
**线程安全:** ✅ 线程安全
**复杂度:** O(1)
**示例:**

View File

@@ -4,7 +4,13 @@
void EndFrame()
```
结束一帧的性能分析。记录当前帧的结束时间,计算帧耗时并可用于帧率统计。应在每帧渲染结束时调用。
结束一帧的性能分析。清空当前帧采集的所有样本数据,准备记录下一帧的性能数据。应在每帧渲染结束时调用。
**注意:** 此方法仅清空样本数据,不会计算或导出帧耗时信息。
**返回:** `void`
**线程安全:** ✅ 线程安全
**复杂度:** O(1)

View File

@@ -6,6 +6,10 @@ void EndProfile()
结束当前性能分析块。从栈顶弹出分析节点并计算持续时间endTime - startTime将结果保存到样本列表中。
**返回:** `void`
**线程安全:** ✅ 线程安全
**复杂度:** O(1)
**示例:**

View File

@@ -11,6 +11,10 @@ void ExportChromeTracing(const Containers::String& filePath)
**参数:**
- `filePath` - 输出文件路径
**返回:** `void`
**线程安全:** ✅ 线程安全
**复杂度:** O(n)n 为记录的样本数量
**示例:**
@@ -35,7 +39,7 @@ void RenderFrame() {
XCEngine::Debug::Profiler::Get().EndFrame();
}
// 运行一段时间后导出
// 运行一段时间后导出(需在 Shutdown 前调用)
XCEngine::Debug::Profiler::Get().ExportChromeTracing("trace.json");
XCEngine::Debug::Profiler::Get().Shutdown();
```

View File

@@ -8,6 +8,8 @@ static Profiler& Get()
**返回:** `Profiler&` - 全局性能分析器实例的引用
**线程安全:** ✅ 线程安全Meyers' Singleton
**复杂度:** O(1)
**示例:**

View File

@@ -8,6 +8,10 @@ void Initialize()
**注意:** 帧计时器等数据结构在首次 BeginFrame 时自动初始化。
**返回:** `void`
**线程安全:** ✅ 线程安全
**复杂度:** O(1)
**示例:**

View File

@@ -13,6 +13,10 @@ void MarkEvent(const char* name, uint64_t timestamp, uint32_t threadId)
- `timestamp` - 事件发生的时间戳(微秒)
- `threadId` - 事件所属的线程 ID
**返回:** `void`
**线程安全:** ✅ 线程安全
**复杂度:** O(1)
**示例:**

View File

@@ -4,31 +4,28 @@
**类型**: `class` (singleton)
**头文件**: `XCEngine/Debug/Profiler.h`
**描述**: 性能分析器单例,用于测量代码块执行时间并支持 Chrome Tracing 格式导出。
## 概述
`Profiler` 是 XCEngine 的性能分析工具。它通过栈式记录和采样方式跟踪函数执行时间,支持导出为 Chrome Tracing 格式(可通过 Chrome 的 `chrome://tracing` 查看)。
## 单例访问
| 方法 | 描述 |
|------|------|
| `static Profiler& Get()` | 获取单例实例 |
## 公共方法
| 方法 | 描述 |
|------|------|
| `void Initialize()` | [初始化性能分析器](initialize.md) |
| `void Shutdown()` | [关闭性能分析器](shutdown.md) |
| `void BeginProfile(const char* name)` | [开始一个性能分析块](beginprofile.md) |
| `void EndProfile()` | [结束当前性能分析块](endprofile.md) |
| `void BeginFrame()` | [开始一帧的分析](beginframe.md) |
| `void EndFrame()` | [结束一帧的分析](endframe.md) |
| `void MarkEvent(const char* name, uint64_t timestamp, uint32_t threadId)` | [标记一个事件点](markevent.md) |
| `void SetMarker(const char* name, uint32_t color)` | [设置帧标记](setmarker.md) |
| `void ExportChromeTracing(const Containers::String& filePath)` | [导出为 Chrome Tracing JSON 格式](exportchrometracing.md) |
| [`Get`](get.md) | 获取单例实例 |
| [`Initialize`](initialize.md) | 初始化性能分析器 |
| [`Shutdown`](shutdown.md) | 关闭性能分析器 |
| [`BeginProfile`](beginprofile.md) | 开始一个性能分析块 |
| [`EndProfile`](endprofile.md) | 结束当前性能分析块 |
| [`BeginFrame`](beginframe.md) | 开始一帧的分析 |
| [`EndFrame`](endframe.md) | 结束一帧的分析 |
| [`MarkEvent`](markevent.md) | 标记一个事件点 |
| [`SetMarker`](setmarker.md) | 设置帧标记 |
| [`ExportChromeTracing`](exportchrometracing.md) | 导出为 Chrome Tracing JSON 格式 |
## 宏定义

View File

@@ -12,6 +12,10 @@ void SetMarker(const char* name, uint32_t color)
- `name` - 标记名称
- `color` - 标记颜色ABGR 格式)
**返回:** `void`
**线程安全:** ✅ 线程安全
**复杂度:** O(1)
**示例:**

View File

@@ -6,6 +6,10 @@ void Shutdown()
关闭性能分析器。清理内部数据结构,停止所有活动分析块,重置状态。在程序退出前调用。
**返回:** `void`
**线程安全:** ✅ 线程安全
**复杂度:** O(1)
**示例:**