Unity Profiler - PlayerLoop 在 Android 设备上几乎 100%

Joh*_*hny 3 profiler android unity-game-engine

我正在profiler performanceAndroid 设备上检查我的游戏。当我检查时,CPU Usage我注意到该比例PlayerLoop为 99.6%,最大比例为Semaphore.WaitForSignal32.5%,其次为PlayerConnection.Poll27%。

有人可以解释是否有办法改进这个吗?99.6%是PlayerLoop“正常”还是太高?

以下是小米 5 Android 8的截图结果 分析器状态

Tom*_*zak 5

分析器中提供的百分比是“该项目对当前执行时间的贡献有多大”,而不是“您正在使用多少 CPU。

您感兴趣的是最大项目的时间(以毫秒为单位)。太多或太少取决于您想要达到的帧速率。

什么是玩家循环

玩家循环是游戏渲染 1 帧所花费的总时间。在那里您可以找到所有脚本、渲染和其他引擎功能。

什么是 Semaphore.WaitForSignal

您的图形管道正在等待其他事情完成。通常,这意味着渲染需要一段时间才能完成,并且图形管道的某些其他部分在渲染完成之前无法继续。

Player 循环 99.6% 是否正常

是的,除非您在编辑器中,否则它最好始终在 100% 左右。

播放器循环中的 27 毫秒到底是多少

处理和渲染一帧所需的总时间。要在游戏中实现 30fps,您需要让所有帧低于 33ms (1000ms/30fps)

您可以在这里找到更多信息:https ://docs.unity3d.com/Manual/ProfilerCPU.html