持续性能监控
性能优化最大的敌人不是"慢",而是"不知不觉地变慢"。持续监控的目标是让性能退化立刻可见。
监控的三个层级
| 层级 | 手段 | 频率 |
|---|---|---|
| 开发期 | 性能看板(编辑器内 / 网页) | 实时 |
| 构建期 | 自动化基线测试(跑固定场景,输出报告) | 每次构建 |
| 发布后 | 玩家端遥测(帧率直方图、设备分级) | 线上持续 |
实现要点
- 编辑器内的实时看板:用 Slate / 蓝图把
stat unit的数字画一个小窗口,开发时始终可见; - 自动化测试:命令行运行工程(
-game -ExecCmds),自动跑测试场景并写入 CSV; - CI 集成:把 CSV 曲线对比上一版本,帧率下降超过阈值 → 阻断构建或告警;
- 玩家遥测:上报"平均帧率 / 低帧比例 / 设备型号"(注意隐私与采样率)。
监控指标的最小集
| 指标 | 理由 |
|---|---|
| 平均帧时间 | 整体水位 |
| 1% 低帧 / 0.1% 低帧 | 卡顿体感主要由低帧决定 |
| 内存峰值 | OOM 风险 |
| 加载时间 | 玩家第一印象 |
| 场景标识 | 定位是哪个关卡退化 |
监控是"防退化"的工具,不替代优化本身。两者配合:监控负责发现退化,第 3 / 4 章的方法负责消灭退化。
