docs: update core and debug API docs
This commit is contained in:
@@ -6,6 +6,10 @@ void BeginFrame()
|
||||
|
||||
开始一帧的性能分析。记录当前帧的起始时间戳,用于计算帧级别的性能指标。应在每帧渲染开始时调用。
|
||||
|
||||
**返回:** `void`
|
||||
|
||||
**线程安全:** ✅ 线程安全
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**示例:**
|
||||
|
||||
@@ -9,6 +9,10 @@ void BeginProfile(const char* name)
|
||||
**参数:**
|
||||
- `name` - 分析块的名称,用于在导出结果中标识
|
||||
|
||||
**返回:** `void`
|
||||
|
||||
**线程安全:** ✅ 线程安全
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**示例:**
|
||||
|
||||
@@ -4,7 +4,13 @@
|
||||
void EndFrame()
|
||||
```
|
||||
|
||||
结束一帧的性能分析。记录当前帧的结束时间,计算帧耗时并可用于帧率统计。应在每帧渲染结束时调用。
|
||||
结束一帧的性能分析。清空当前帧采集的所有样本数据,准备记录下一帧的性能数据。应在每帧渲染结束时调用。
|
||||
|
||||
**注意:** 此方法仅清空样本数据,不会计算或导出帧耗时信息。
|
||||
|
||||
**返回:** `void`
|
||||
|
||||
**线程安全:** ✅ 线程安全
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
|
||||
@@ -6,6 +6,10 @@ void EndProfile()
|
||||
|
||||
结束当前性能分析块。从栈顶弹出分析节点并计算持续时间(endTime - startTime),将结果保存到样本列表中。
|
||||
|
||||
**返回:** `void`
|
||||
|
||||
**线程安全:** ✅ 线程安全
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**示例:**
|
||||
|
||||
@@ -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();
|
||||
```
|
||||
|
||||
@@ -8,6 +8,8 @@ static Profiler& Get()
|
||||
|
||||
**返回:** `Profiler&` - 全局性能分析器实例的引用
|
||||
|
||||
**线程安全:** ✅ 线程安全(Meyers' Singleton)
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**示例:**
|
||||
|
||||
@@ -8,6 +8,10 @@ void Initialize()
|
||||
|
||||
**注意:** 帧计时器等数据结构在首次 BeginFrame 时自动初始化。
|
||||
|
||||
**返回:** `void`
|
||||
|
||||
**线程安全:** ✅ 线程安全
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**示例:**
|
||||
|
||||
@@ -13,6 +13,10 @@ void MarkEvent(const char* name, uint64_t timestamp, uint32_t threadId)
|
||||
- `timestamp` - 事件发生的时间戳(微秒)
|
||||
- `threadId` - 事件所属的线程 ID
|
||||
|
||||
**返回:** `void`
|
||||
|
||||
**线程安全:** ✅ 线程安全
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**示例:**
|
||||
|
||||
@@ -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 格式 |
|
||||
|
||||
## 宏定义
|
||||
|
||||
|
||||
@@ -12,6 +12,10 @@ void SetMarker(const char* name, uint32_t color)
|
||||
- `name` - 标记名称
|
||||
- `color` - 标记颜色(ABGR 格式)
|
||||
|
||||
**返回:** `void`
|
||||
|
||||
**线程安全:** ✅ 线程安全
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**示例:**
|
||||
|
||||
@@ -6,6 +6,10 @@ void Shutdown()
|
||||
|
||||
关闭性能分析器。清理内部数据结构,停止所有活动分析块,重置状态。在程序退出前调用。
|
||||
|
||||
**返回:** `void`
|
||||
|
||||
**线程安全:** ✅ 线程安全
|
||||
|
||||
**复杂度:** O(1)
|
||||
|
||||
**示例:**
|
||||
|
||||
Reference in New Issue
Block a user