Version: 6000.3
语言: 中文
帧时序管理器介绍
为发布版本启用帧时序统计信息

获取帧时序数据

您可以从FrameTimingAPI 通过以下方式:

要从发布版本中获取帧时序数据,必须首先启用 帧时序统计(Frame Timing Stats) 属性

使用自定义 Profiler 模块

要在自定义 Profiler 模块中查看帧时序数据,请执行以下步骤:

  1. 创建自定义分析器帮助您优化游戏的窗口。它显示了在游戏的各个领域花费了多少时间。例如,它可以报告渲染、动画制作或游戏逻辑所花费的时间百分比。更多信息
    请参阅术语表
    模块,根据创建自定义探查器模块的说明。
  2. 打开“分析器”窗口(“分析>窗口> )
  3. 打开 性能分析器模块编辑器(Profiler 模块编辑器)(Profler Modules) 下拉菜单>齿轮图标),然后选择自定义性能分析器模块。
  4. “可用计数器”面板中,选择“Unity”。
  5. 选择“渲染”以打开包含Profiler 计数器使用 ProfilerCounter API 放置在代码中,以跟踪指标,例如游戏中生成的敌人数量。更多信息
    请参阅术语表
    与内存使用情况相关,其中包括FrameTimingStats属性启用。然后,您可以单击子菜单中的相关计数器,将它们添加到您的自定义模块中。

有关可用计数器的列表,请参阅 Profiler 计数器参考

Highlights Profiler 模块使用FrameTiming以确定帧是 CPU 还是 GPU 绑定。

使用 FrameTiming API

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

下表包含通过 API 提供的值,按照 Unity 在帧中执行这些值的顺序:

财产 描述
frameStartTimestamp 帧开始时的 CPU 时间戳时间。
firstSubmitTimestamp Unity 在此帧内向 GPU 提交第一个作业时的 CPU 时间戳时间。
cpuTimePresentCalled Unity 为当前帧调用 Present() 函数时的 CPU 时间戳时间。
cpuTimeFrameComplete GPU 完成帧渲染并中断 CPU 时的 CPU 时间戳时间。

FrameTimingManager.GetCpuTimerFrequencyAPI 将时间戳转换为秒。

其他资源

帧时序管理器介绍
为发布版本启用帧时序统计信息