简单的 2D Unity 游戏有周期性的抖动

Simple 2D Unity Game has periodical jerkiness

我在 Unity 中使用应用程序 Tiled 制作了一个简单的 2D 游戏,但是当我 运行 它时,屏幕会时不时地跳动,就像它的 fps 快速下降一样。

我不确定什么会影响游戏的性能,因为它没有执行任何要求很高的任务。我唯一的猜测是它可能是我使用的大地图,但我觉得这不是问题,因为当地图不大时游戏仍然不稳定。此外,我尝试将地图缩放到更大的尺寸,但它并没有使性能比现在更差。

有谁知道可能导致此处性能问题的原因是什么?谢谢。

周期性的帧速率下降可能是由多种原因引起的 - 幸运的是,Unity 为您提供了一个非常好的工具,可以以 Profiler 的形式进行跟踪(Window > Profiler)。建议您构建游戏(检查 Development BuildAutoconnect Profiler)而不是在编辑器中进行测试,因为编辑器经常会产生大量开销,这些开销会显示在 Profiler 中并且可能会让您误入歧途。

玩游戏,看看当您注意到 fps 下降时是​​否有任何尖峰。如果您有垃圾收集 (GC) 导致周期性 fps 下降,我不会感到惊讶。 GC 在后台定期触发,以清理已分配但不再需要的内存。您可以通过选择 CPU Usage 并查看 GC Alloc 列来了解分配了多少内存。这可以快速加起来!优化游戏以避免 GC 峰值本身就是一个完整的主题。

但是,当然,您的问题可能与 GC 峰值无关。希望 Profiler 会告诉您应该翻转哪些石头。