FrameTimingManager 是一个 API,它可以捕获应用程序中单个帧性能的详细计时数据。您可以使用这些数据评估这些帧以了解应用程序为何无法满足性能目标。
如果需要,请使用 FrameTimingManager
帧计时不会取代 分析器帮助您优化游戏的窗口。它显示了游戏各个区域所花费的时间。例如,它可以报告渲染、动画或游戏逻辑中花费的时间百分比。 更多信息
参见 术语表 中的数据;在您对应用程序进行高级分析后,使用 FrameTimingManager 检查特定细节。FrameTimingManager 在记录数据时会降低性能,因此它无法准确衡量应用程序的性能。
属性 | 描述 | 支持 | 注释 |
---|---|---|---|
Windows | DirectX 11 | 是 | |
DirectX 12 | 是 | ||
OpenGL | 是 | ||
Vulkan | 是 | ||
macOS | Metal | 是 | 由于基于平铺的延迟渲染 GPU 的行为,可能会报告比总帧时间更大的 GPU 时间测量值。 |
Linux | OpenGL | 部分 | 不支持 GPU 时间测量。 |
Vulkan | 是 | ||
Android | OpenGL ES | 是 | |
Vulkan | 是 | ||
iOS | Metal | 是 | 由于基于平铺的延迟渲染 GPU 的行为,可能会报告比总帧时间更大的 GPU 时间测量值。 |
tvOS | Metal | 是 | 由于基于平铺的延迟渲染 GPU 的行为,可能会报告比总帧时间更大的 GPU 时间测量值。 |
WebGL一个 JavaScript API,可在 Web 浏览器中渲染 2D 和 3D 图形。Unity Web 构建选项允许 Unity 将内容发布为 JavaScript 程序,这些程序使用 HTML5 技术和 WebGL 渲染 API 在 Web 浏览器中运行 Unity 内容。 更多信息 参见 术语表 |
WebGL | 部分 | 不支持 GPU 时间测量。 |
FrameTimingManager 会以四帧的延迟提供结果。这是因为计时结果在每帧结束时无法立即获得,因此 FrameTimingManager 会等待获取该帧的 CPU 和 GPU 数据。
延迟不能保证准确的计时结果,因为 GPU 可能没有可用资源来返回结果,或者可能无法正确返回结果。
FrameTimingManger 在某些情况下会更改其生成 FrameTimeComplete 时间戳的方式