我在Unity中使用Tiled为tilemap制作了一个简单的2D游戏,但是当我运行它时,屏幕会不时地跳起来,因为它有一个快速的fps下降。
我不确定什么会伤害游戏的性能,因为它没有执行任何苛刻的任务。我唯一的猜测是它可能是我正在使用的大型瓷砖地图,但我觉得这不是问题,因为当地图不大时,游戏仍然是生涩的。此外,我尝试将地图缩放到更大的尺寸,但这并没有使性能比现在更差。
有谁知道这可能导致性能问题?感谢。
答案 0 :(得分:2)
周期性的帧速率下降可能是由许多事情引起的 - 幸运的是Unity为您提供了一个非常好的工具来以Profiler(Window> Profiler)的形式跟踪它。建议您构建游戏(检查Development Build
和Autoconnect Profiler
)而不是在编辑器中进行测试,因为编辑器经常会在Profiler中创建大量开销,并可能导致您误入歧途。
当你注意到fps下降时,玩游戏并查看是否有任何尖峰。如果你有垃圾收集(GC)导致你的周期性fps下降,我不会感到惊讶。 GC会在后台定期触发,以清理已分配但不再需要的内存。通过选择CPU Usage
并查看GC Alloc
列,您可以很好地了解分配的内存量。这可以很快加起来!优化游戏以避免GC峰值本身就是一个完整的话题。
但是,当然,你的问题可能与GC峰值无关。希望Profiler会告诉你应该翻过哪些石头。