Version: Unity 6.0 (6000.0)
语言 : 中文
帧定时管理器简介
启用 FrameTimingManager

获取帧时序数据

使用 Custom Profiler 模块查看帧时间数据

要在 Custom Profiler 模块中查看帧时序数据,请执行以下操作:

  1. 根据有关创建自定义性能分析器模块的说明创建自定义性能分析器模块。
  2. 在 **性能分析器模块编辑器 (Profiler Module Editor) ** 窗口中,选择自定义模块。
  3. 可用计数器 (Available Counters) 面板中,选择 Unity
  4. 选择渲染 (Render) 打开包含与内存使用量相关的性能分析器计数器的子菜单,其中包括 FrameTimingStats 属性启用的性能分析器计数器。然后,可以单击子菜单中的相关计数器,将其添加到自定义模块中。

下表描述了启用 Frame Timing Stats 时可用的每个计数器的用途:

测量 描述
CPU 总帧时间 (ms) 总 CPU 帧时间(以毫秒为单位)。Unity 以两帧结束之间的时间计算该数据,包括任何开销或两帧之间等待的时间。
CPU 主线程帧时间 (ms) 从帧开始到主线程完成其在该帧期间执行的工作之间的时间(以毫秒为单位)。
CPU 主线程当前等待时间 (ms) 在帧期间等待 Present() 所用的 CPU 时间。
CPU 渲染线程帧时间 (ms) 从渲染线程开始运行到 Unity 调用 Present() 函数之间的时间(以毫秒为单位)。
GPU 帧时间 (ms) GPU 渲染单帧的开始到结束的时间差,以毫秒为单位。

从 FrameTimingManager C# API 检索时间戳数据

使用 FrameTimingManager API 可以访问时间戳信息。在每个变量中,FrameTimingManager 都会记录一帧内特定事件发生的时间。

下表按 Unity 在一帧内执行值的顺序列出了 API 可用的值:

属性 描述
frameStartTimestamp 帧开始时的 CPU 时钟时间。
firstSubmitTimestamp Unity 在此帧中将第一个任务提交到 GPU 时的 CPU 时钟时间。
cpuTimePresentCalled Unity 为当前帧调用 Present() 函数的 CPU 时钟时间。
cpuTimeFrameComplete GPU 完成帧渲染并中断 CPU 的 CPU 时钟时间。
帧定时管理器简介
启用 FrameTimingManager
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961