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

性能测试与基准

性能测试完成。下一课做资源与内存审计。

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

🎯本节学习目标

  • 建立帧率统计
  • 建立测试场景
  • 制定性能指标

🚀课程导读

“优化有没有效果”要用数据说话。本课建立可复用的性能测试体系。

帧率统计工具

自己“数帧”。

  1. 【FPS 统计脚本】
  2. public class FPSDisplay : MonoBehaviour {
  3. private float fps; private float timer; private int frames;
  4. void Update() {
  5. timer += Time.deltaTime; frames++;
  6. if (timer >= 0.5f) {
  7. fps = frames / timer;
  8. timer = 0; frames = 0;
  9. }
  10. }
  11. void OnGUI() { GUI.Label(new Rect(10, 10, 200, 30), "FPS: " + fps.ToString("F1")); }
  12. }
  13. 【说明】OnGUI 直接画屏上(测试用,发布删)。
  14. 【平均/最低】记录一段时间的最低帧率(卡顿指标):
  15. minFps = Mathf.Min(minFps, fps);
  16. 【目标】平均 60 + 最低 > 45(稳定)。
  17. 【真机】真机运行时看数值最真实。
  18. 【完成】“数帧器”上线!
  19. 【注意】OnGUI 有开销,只测试用。
💡
帧率统计 = 每秒算一次 + OnGUI 显示 + 记录最低帧。

测试场景与指标

“压力测试场”。

  1. 【压力测试场景】专门做一个“性能测试”场景:
  2. 大量敌人、大量特效、大量物理物同时活跃。
  3. 【测试动作】固定操作流程(跑一圈、打一波怪)确保可复现。
  4. 【指标】
  5. 平均 FPS、最低 FPS、Draw Call、GC Alloc、内存峰值。
  6. 【基线】优化前记录基线 → 每次优化后对比。
  7. 【多平台】PC 与真机各测一套。
  8. 【报告】整理成表格:版本/场景/平台/指标。
  9. 【回归】每次改版本跑一遍回归(防止优化破坏优化)。
  10. 【完成】“体检中心”建成!
  11. 【推荐】性能测试是团队流程(个人也受益)。
  12. 【注意】测试要“场景一致、操作一致”才可比。
基准体系 = 压力场景 + 固定操作 + 指标记录 + 回归对比。四件套。

常见错误与排查

错误:每次测的帧率不一样?
原因:场景/操作/平台不一致
解决:固定场景与操作流程;同一设备;关闭后台程序。

动手练习

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

  • 写 FPS 统计脚本
  • 建压力测试场景
  • 记录基线并定指标

本节小结

性能测试完成。下一课做资源与内存审计。

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

← 上一课多场景管理与场景切换