包含此页的版本:
不含此页的版本:
您可以使用FrameTimingManager类捕获有关应用程序中单个帧性能的高级时序数据。然后,您可以使用此数据来评估您的应用程序是否满足性能目标。
您可以使用FrameTimingManager类在以下情况下:
帧时序不会替换分析器帮助您优化游戏的窗口。它显示了在游戏的各个领域花费了多少时间。例如,它可以报告渲染、动画制作或游戏逻辑所花费的时间百分比。更多信息
请参阅术语表.在使用FrameTimingManager,然后可以使用探查器调查特定详细信息。
注意: FrameTimingManager在 OpenGL ES 上记录数据时可能会降低 GPU 性能,因此无法准确度量应用程序的性能。
使用您从以下位置收集的数据FrameTimingManager请参阅获取帧时序数据。
FrameTimingManager提供具有 4 帧设置延迟的结果。这是出于以下原因:
注意:四帧延迟不能保证准确的计时结果,因为 GPU 可能没有任何可用资源来返回结果,或者可能无法正确返回结果。
有关可用时序的详细说明,请参阅获取帧时序数据。
FrameTimingManger更改它生成FrameTimeCompletetimestamp 在以下情况下:
FrameTimeComplete时间戳。FrameTimingManager计算gpuFrameTime.该值是报告的 GPU 时间和FirstSubmitTimestamp值。FrameTimingManager设置PresentTimestamp作为FrameTimeComplete.
FrameTimingManager在以下平台和图形 API 上受支持:
| 平台 | 图形 | 支持 |
|---|---|---|
| 人造人 | OpenGL ES | 是的 |
| 人造人 | 火神 | 是的 |
| iOS系统 | 金属 | 是的 |
| Linux的 | 开放GL | 部分:不支持 GPU 帧时间测量。 |
| Linux的 | 火神 | 是的 |
| macOS作系统 | 金属 | 是的 |
| tv作系统 | 金属 | 是的 |
| WebGL一种在 Web 浏览器中呈现 2D 和 3D 图形的 JavaScript API。Unity Web 构建选项允许 Unity 将内容发布为 JavaScript 程序,这些程序使用 HTML5 技术和 WebGL 渲染 API 在 Web 浏览器中运行 Unity 内容。更多信息 请参阅术语表 |
WebGL | 部分:不支持 GPU 帧时间测量。 |
| 窗户 | DirectX 11 的 | 是的 |
| 窗户 | DirectX 12的 | 是的 |
| 窗户 | 开放GL | 是的 |
| 窗户 | 火神 | 是的 |
| XR一个总称,包括虚拟现实 (VR)、增强现实 (AR) 和混合现实 (MR) 应用。支持这些形式的交互式应用程序的设备可以称为 XR 设备。更多信息 请参阅术语表 |
OpenGL ES | 部分:不支持 CPU 渲染线程帧时间和 GPU 帧时间测量。 |
| XR的 | 火神 | 部分:不支持 CPU 渲染线程帧时间和 GPU 帧时间测量。 |
对于使用基于图块的延迟渲染架构的 GPU(例如 Apple 设备中的 Metal GPU),报告的 GPU 时间可能大于报告的帧时间。
当 GPU 负载过重或 GPU 管道已满时,可能会发生这种情况。在这些情况下,GPU 可能会延迟某些渲染阶段的执行。因为FrameTimingManager测量帧渲染开始和结束之间的时间,阶段之间的任何间隙都会增加报告的 GPU 时间。
在以下示例中,没有可用的 GPU 资源,因为 GPU 将作业从顶点队列传递到片段队列。因此,GPU 的图形 API 会延迟下一阶段的执行。发生这种情况时,GPU 时间测量包括相位工作时间和两者之间的任何间隙。结果是FrameTimingManager报告的 GPU 时间测量值高于预期。