对于使用基于图块的延迟渲染架构的 GPU,例如 Apple 设备中的 Metal GPU,报告的 GPU 时间可能大于报告的帧时间。
当 GPU 负载过重或 GPU 管道已满时,就会出现这种情况。在这些情况下,GPU 可能会延迟执行某些渲染阶段。由于 FrameTimingManager 测量帧渲染开始和结束之间的时间,因此阶段之间的任何间隙都会增加报告的 GPU 时间。
在下面的示例中,由于 GPU 将作业从顶点队列传递到片段队列,因此没有可用的 GPU 资源。因此,GPU 的图形 API 延迟执行下一阶段。发生这种情况时,GPU 时间测量值将包括阶段工作时间和两者之间的任何间隙。结果是 FrameTimingManager 报告的 GPU 时间测量值高于预期。