Game_Num_Basics_And_Calc

⏱️ 性能监控脚本集:Unity 实战性能守门员

文档目标:提供一套轻量级的运行时监控脚本,帮助开发团队在非 Profiler 模式下(如真机包、演示包)实时发现性能瓶颈。


1. 为什么需要运行时监控?

Unity Profiler 开销很大,且只能连接开发机。 我们需要在QA 测试包每日构建包中,直观地看到:


2. 脚本清单

将以下脚本放入 Assets/Scripts/Debug/Performance

2.1 FPSMonitor.cs (帧时间直方图)

不只是显示 “60 FPS”。因为 “平均 60 FPS” 可能意味着 59 帧是 1ms,第 60 帧是 500ms(卡顿)。

void Update() {
    float frameTime = Time.unscaledDeltaTime * 1000f;
    _buffer.Add(frameTime);
    // 计算 99th percentile...
}

2.2 ObjectCountTracker.cs (实体预算监控)

防止策划或生成器配置错误导致爆内存。

2.3 MemoryWatcher.cs (GC 监控)


3. 集成与开关

建议使用 SRDebugger 或自定义的调试控制台来切换显示。

#if DEVELOPMENT_BUILD || UNITY_EDITOR
    PerformanceHUD.Show();
#endif

4. 验收标准

任何超出上述标准的情况,测试人员应截图并将 FPSMonitor 的数据附在 Bug 单中。