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

时间:2017-03-21 06:09:22

标签: c# render unity5 unityscript

我在Unity中使用Tiled为tilemap制作了一个简单的2D游戏,但是当我运行它时,屏幕会不时地跳起来,因为它有一个快速的fps下降。

我不确定什么会伤害游戏的性能,因为它没有执行任何苛刻的任务。我唯一的猜测是它可能是我正在使用的大型瓷砖地图,但我觉得这不是问题,因为当地图不大时,游戏仍然是生涩的。此外,我尝试将地图缩放到更大的尺寸,但这并没有使性能比现在更差。

有谁知道这可能导致性能问题?感谢。

1 个答案:

答案 0 :(得分:2)

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

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

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