Cocos Creator:本机性能探查器

Cocos Creator:本机性能探查器
推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生

本机性能探查器

性能探查器是用于性能分析和统计的工具,目前仅在本机平台上可用。

默认统计信息

性能探查器如下所示:

分析器

与左下角的旧版本不同,新版本提供了更详细的游戏性能和内存统计,并支持扩展。开发人员可以自由添加他们关心的性能和内存数据。默认数据如下:ProfilerProfiler

核心统计数据,包括:CoreStats

  • 帧速率
  • 每帧渲染时间
  • GFX 后端
  • 是否启用多线程
  • 是否启用遮挡查询
  • 是否启用阴影贴图
  • 屏幕分辨率

对象计数统计 ,包括:ObjectStats

  • 渲染调用数
  • 实例化数
  • 三角形数量
  • 2D 渲染批次数
  • 渲染模型的数量
  • 摄像机数量

内存使用统计 ,包括:MemoryStats

  • 调试渲染器的顶点缓冲区大小
  • 本机字体内存大小
  • 纹理占用的视频内存
  • 缓冲区占用的视频内存
  • 几何渲染器顶点缓冲区大小

性能统计 ,显示逻辑线程调用堆栈,包含每个分析的代码段:PerformanceStats

  • 每帧的总执行时间
  • 每帧单次执行的最长时间
  • 每帧执行总数
  • 每帧平均执行时间
  • 历史总执行时间
  • 历史上单次执行的最长时间
  • 历史处决总数
  • 历史上单次执行的平均时间

如何使用

在编辑器的主菜单中:项目 -> 项目设置 -> 功能裁剪,勾选 调试渲染器,此选项默认关闭,需要打开它才能显示调试信息:

启用探查器

将 的宏定义更改为 in ,然后在性能和内存优化完成后将其更改回 。此时,性能探查器已完全关闭,不会对代码造成任何副作用:CC_USE_PROFILER1native/cocos/base/Config.h0

  #ifndef CC_USE_PROFILER
      #define CC_USE_PROFILER 0
  #endif

如果要添加 的统计信息,例如计算每帧渲染模型的数量(需要在每帧更新等函数中调用):ObjectStats

以下宏在 native/cocos/profiler/Profiler.h 中定义。开发人员可以根据需要使用它。

void RenderScene::update(uint32_t stamp) {
    ... 
    CC_PROFILE_OBJECT_UPDATE(Models, _models.size());
}
  • CC_PROFILE_OBJECT_UPDATE用于更新统计信息
  • CC_PROFILE_OBJECT_INC用于递增统计信息
  • CC_PROFILE_OBJECT_DEC用于递减统计数据

如果要添加统计信息,例如计算顶点缓冲区的内存使用情况:MemoryStatsGeometryRenderer

  void GeometryVertexBuffer::init(gfx::Device *device, 
      uint32_t maxVertices, const gfx::AttributeList &attributes) {
      ...
      CC_PROFILE_MEMORY_INC(GeometryVertexBuffer, static_cast<uint32_t>(_maxVertices * sizeof(T)));
  }
  • CC_PROFILE_MEMORY_UPDATE用于更新内存使用情况(字节)
  • CC_PROFILE_MEMORY_INC用于增加内存使用量(字节)
  • CC_PROFILE_MEMORY_DEC用于减少内存使用量(字节)

如果要添加统计信息,例如函数的执行时间(以毫秒为单位):PerformanceStatsForwardPipeline::render

  void ForwardPipeline::render(const ccstd::vector<scene::Camera *> &cameras) {
      CC_PROFILE(ForwardPipelineRender);
      ...
  }

以上修改后,编译运行,可以在屏幕上看到新的统计信息:

添加统计信息

3D建模学习工作室 翻译整理,转载请注明出处

上一篇:Cocos Creator:原生场景剔除 (mvrlink.com)

下一篇:Cocos Creator:简化使用 JavaScript 调用 Objective-C 方法(实验性功能) (mvrlink.com)

NSDT场景编辑器 | NSDT 数字孪生 | GLTF在线编辑器 | 3D模型在线转换 | UnrealSynth虚幻合成数据生成器 | 3D模型自动纹理化工具
2023 power by nsdt©鄂ICP备2023000829号