首页/ 第 16 章 · 性能优化/ 第 272 课
LESSON 272 · 性能优化

性能分析实战(综合排障)

性能分析实战完成。下一课优化综合练习。

⏱ 约 16 分钟📊 难度:入门🗂 第 16 章 · 性能优化📍 第 272 / 300 课
课程进度
272 / 300

🎯本节学习目标

  • 掌握排查流程
  • 实战定位瓶颈
  • 完成优化闭环

🚀课程导读

“卡”了怎么查?本课走一遍完整排障流程:录数据→定位→优化→复测。

排障流程

五步定位。

  1. 【第一步 复现】稳定复现卡顿场景(别“偶尔卡”找不到)。
  2. 【第二步 录制】Profiler 录制卡顿时段。
  3. 【第三步 定位】看 CPU 时间轴哪块爆满(渲染/物理/脚本/GC)。
  4. 【第四步 深入】点热点 → 调用栈 → 定位到具体函数/对象/资源。
  5. 【第五步 优化】针对性优化(查对应章节)。
  6. 【复测】优化后再录,对比帧时间与分配。
  7. 【分类排查】
  8. 渲染卡:看 Draw Call/三角面 → 合批/烘焙/LOD。
  9. 物理卡:看 Physics → 刚体/碰撞/层。
  10. 脚本卡:看 Scripts → 缓存/循环/每帧逻辑。
  11. GC 卡:看 GC Alloc → 分配源。
  12. 【记录】每次优化记录数据(优化前/后)。
  13. 【完成】“会排障”了!
💡
排障五步:复现→录制→定位→优化→复测。数据说话,不靠猜。

典型案例实战

看两个“病人”。

  1. 【案例1 物理卡顿】
  2. 症状:物体多时掉帧。
  3. Profiler:Physics 占满。
  4. 排查:刚体数量多、动态碰撞频繁。
  5. 优化:静态物去刚体、合并碰撞、层过滤(第 264 课)。
  6. 复测:Physics 耗时下降。
  7. 【案例2 GC 卡顿】
  8. 症状:周期性卡一下。
  9. Profiler:GC Alloc 峰值高。
  10. 排查:字符串拼接/每帧 new。
  11. 优化:StringBuilder/缓存/对象池(第 265 课)。
  12. 复测:GC Alloc 平缓。
  13. 【通用】帧率不稳多为“分配”或“加载”;持续低帧多为“渲染/物理”。
  14. 【工具组合】Profiler + Frame Debugger + Stats 窗口(Game 视图 Stats)。
  15. 【真机】编辑器优化完,真机再验证(环境更真实)。
  16. 【完成】“医生”养成!
  17. 【注意】一次改一个变量,避免“改多了不知道谁生效”。
优化纪律:一次只改一个、每次都要复测。改多了=白改。

常见错误与排查

错误:优化后没提升?
原因:改错点或没复测
解决:确认改的是瓶颈(不是猜测);复测对比数据;一次改一个变量。

动手练习

课后小任务(做出来才算真的学会)

  • 录制并定位一个真实卡顿
  • 针对性优化并复测
  • 记录优化前后数据

本节小结

性能分析实战完成。下一课优化综合练习。

完成打卡后,主站会实时更新你的学习进度 🎯

← 上一课移动端性能优化