介绍

Unity 性能分析的方法可以参考官方文档:

这里主要介绍一下里面遇到的一些坑。

环境

  • Unity 2019.4.32f1
  • Windows 10 21H2
  • Android 12

版本

需要注意使用的软件的版本、文档的版本,上面的官方文档链接默认是最新版本,需要根据自己的情况切换到不同 Unity 版本与语言。

无法连接

可能会因为各种各样奇怪的原因无法连接,例如:

  1. 应用没有使用 Development 模式打包。
  2. 没有开启开发者模式、USB 调试,可能会因为误操作关闭
  3. USB 线或者接口有问题,换一根可用的线试试。
  4. 电脑与手机可能需要重启,尽量保证重启后直接连接,排除其他因素的影响。
  5. 有线连接不成功的话,可以尝试使用无线连接,电脑与手机在同一网段,连接时 Unity 会自动搜索端口范围。

分析

前一步连接后就可以开启分析功能了。

性能

Windows | Analysis | Profiler 打开窗口,可以对运行时数据进行抓取处理。

如果需要进行深度分析,需要在打包时开启 Mono 运行时,然后在电脑上通过 adb 启动 Android 游戏:

1
$ adb shell am start -n {insert bundle identifier here}/com.unity3d.player.UnityPlayerActivity -e 'unity' '-deepprofiling'

实测开启深度分析后,游戏帧率会从 60 直接降到 10,实际意义不大。

抓帧

Windows | Analysis | Frame Debugger 打开窗口,可以抓取某一帧效果,并且实时地调节进度。

实测抓帧后的可以调节进度,并从 Android 上看到实时的渲染效果。基本上不算太卡,点击某一个 DrawCall 后可能会延迟个 2 秒左右才显示结果。