Optimization
移动端性能优化不是一组技巧,而是一条预算链
很多项目讨论优化时,总是在“再合一张图集”“再关一个特效”和“再砍一点阴影”之间反复摇摆。真正更有效的方法, 是先给 CPU、GPU、内存和 IO 各自设预算,再决定优化优先级。
先看数据,不看感觉
如果一个场景在高端设备上是 60 FPS,而在中低端设备上跌到 35 FPS,第一件事不是猜,而是看 Profiler。判断卡顿到底来自渲染、脚本、GC 还是资源加载,成本完全不同。
常见的预算拆法
- CPU:角色逻辑、AI、UI 刷新、动画、路径计算
- GPU:透明叠层、后处理、阴影、粒子和过高的屏幕填充率
- 内存:大纹理、未释放对象、音频缓存和 AssetBundle 生命周期
- IO:场景切换、异步加载顺序、首帧资源预热
最容易产生收益的动作
对象池、减少 UI 重建、限制高频分配、把大资源切成可控的小块,通常比“全盘重构”更快见效。尤其在移动端,GC 抖动和透明 overdraw 常常比单条逻辑慢更致命。
落地思路
把性能问题当作一个按设备分层的验收表。确定最低目标机型,记录关键场景的帧率与峰值耗时,再决定哪些内容需要降级。优化的终点不是“更快”,而是“在目标设备上稳定达到体验目标”。