在游戏中,我如何避免使用对象类的许多实例中的帧率下降



我正在编写一个游戏,该游戏需要大量的"怪物"类的实例,其中包含非常基本的数据 - 即:

  • 旋转角
  • 损害潜力
  • Max Health
  • 当前健康

就是这样。游戏以60 fps的速度顺利进行,但创建了大约50-60个实例(并且同时活跃),游戏倾斜至30 fps。令人沮丧,因为我不知道如何解决。为了记录,我正在从它们所包含的数组和场景的有效方式中删除怪物(我认为)。

改善帧速率的一种方法是避免创建和破坏许多对象。这可以通过汇总对象来实现。基本上,您可以在游戏开始时创建所需的对象,当据说被摧毁时,您将其隐藏并以后再使用。

根据您使用的技术(您在帖子中尚未指定的技术),有多种实施方法。您可以检查这些链接以获取更多信息并提供帮助:http://gameprogrammingpatterns.com/object-pool.htmlhttp://best-practice-software-engineering.ifs.tuwien.ac.at/patterns/objectpool.html和/或仅Google它。该原理非常简单,您应该可以轻松使用它。

希望这会有所帮助;)

编辑:另外,根据您使用的技术,可能还有一些更好的方法来改善帧速率。如果您可以提供您当前正在使用的语言/API,则可能会获得更多有用的帮助!

最新更新