Unity Profiler - PlayerLoop 在 Android 台设备上几乎 100%
Unity Profiler - PlayerLoop almost 100% on Android devices
我正在 Android 设备上检查 profiler performance
我的游戏。当我检查 CPU Usage
时,我注意到 PlayerLoop
为 99.6%,最大百分比消耗在 Semaphore.WaitForSignal
中,占 32.5%,其次是 PlayerConnection.Poll
,占 27%。
有人可以解释一下是否有改进方法吗? PlayerLoop
99.6% 是“正常”还是过高?
以下截图来自 小米 5 Android 8
Profiler 中提供的百分比是 “此项对当前执行时间的贡献有多大” 而不是“您正在使用多少 CPU。
您感兴趣的是最大项的时间(以毫秒为单位)。东西是太多还是太少取决于你想要达到的帧率。
什么是播放器循环
播放器循环是您的游戏渲染 1 帧所花费的总时间。您可以在其中找到所有脚本、渲染和其他引擎功能。
什么是Semaphore.WaitForSignal
您的图形管道正在等待其他事情完成。通常,这意味着渲染需要一段时间才能完成,而图形管道的某些其他部分在渲染完成之前无法继续。
Player循环99.6%是否正常
是的,除非您在编辑器中,否则最好始终保持在 100% 左右。
播放器循环中正好是27ms
处理和渲染一帧所需的总时间。要达到 30fps in-game 你需要让所有帧都低于 33ms (1000ms/30fps)
您可以在此处找到更多信息:https://docs.unity3d.com/Manual/ProfilerCPU.html
我正在 Android 设备上检查 profiler performance
我的游戏。当我检查 CPU Usage
时,我注意到 PlayerLoop
为 99.6%,最大百分比消耗在 Semaphore.WaitForSignal
中,占 32.5%,其次是 PlayerConnection.Poll
,占 27%。
有人可以解释一下是否有改进方法吗? PlayerLoop
99.6% 是“正常”还是过高?
以下截图来自 小米 5 Android 8
Profiler 中提供的百分比是 “此项对当前执行时间的贡献有多大” 而不是“您正在使用多少 CPU。
您感兴趣的是最大项的时间(以毫秒为单位)。东西是太多还是太少取决于你想要达到的帧率。
什么是播放器循环
播放器循环是您的游戏渲染 1 帧所花费的总时间。您可以在其中找到所有脚本、渲染和其他引擎功能。
什么是Semaphore.WaitForSignal
您的图形管道正在等待其他事情完成。通常,这意味着渲染需要一段时间才能完成,而图形管道的某些其他部分在渲染完成之前无法继续。
Player循环99.6%是否正常
是的,除非您在编辑器中,否则最好始终保持在 100% 左右。
播放器循环中正好是27ms
处理和渲染一帧所需的总时间。要达到 30fps in-game 你需要让所有帧都低于 33ms (1000ms/30fps)
您可以在此处找到更多信息:https://docs.unity3d.com/Manual/ProfilerCPU.html