0

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

  • 旋转角度
  • 潜在损害
  • 最大健康
  • 当前健康状况

就是这样。游戏以 60 fps 的速度顺利开始,但一旦创建了大约 50-60 个实例(并且同时处于活动状态),游戏就会下降到 <30 fps。这很令人沮丧,因为我不知道如何解决它。作为记录,我正在以有效的方式从包含它们的阵列和场景中移除怪物(我认为)。

4

1 回答 1

0

提高帧率的一种方法是避免创建和销毁大量对象。这可以通过池化对象来实现。基本上,您在游戏或关卡开始时创建所需的对象,当一个被认为被摧毁时,您将其隐藏并稍后重用。

根据您使用的技术(您没有在帖子中指定 ^^),有多种方法可以实现这一点。您可以查看这些链接以获取更多信息和帮助: http: //gameprogrammingpatterns.com/object-pool.html http://best-practice-software-engineering.ifs.tuwien.ac.at/patterns/objectpool.html 和/或只是谷歌它。原理很简单,你应该可以很容易地使用它。

希望这可以帮助 ;)

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

于 2013-05-13T03:06:35.347 回答