最近开发了一个手机AR照片墙APP,里面涉及到频繁的屏幕截图、捕捉相机位姿、和网络传输数据,APP时常崩溃,因此就不得不考虑性能优化的问题了。于是去读了汪祥春老师的《AR开发权威指南:基于AR Foundation》, 要点记录如下。不过时间有限,尚未深入研究如何在自己的项目中使用,日后有了实战经验,在进行补充。
为什么要进行性能优化
为了解决AR APP卡顿、掉帧、崩溃等问题。
进行性能优化的通用步骤
- 找准性能瓶颈点,例如是因为CPU处理脚本计算任务时间较长,还是因为GPU处理渲染时间较长;是因为脚本复杂导致效率不高,还是因为模型过多加载慢。
- 针对瓶颈点,具体情况具体分析解决。
如何找到性能瓶颈点
- 程序逻辑调试
- Debug.Log()
- 用户真机调试可以写日志并将日志传回服务器
- 在真机上弹出运行情况报告
- 性能分析调试
- Unity Profiler
参考资料
- 汪祥春. AR开发权威指南:基于AR Foundation