2017-05-21 38 views
0

在我的游戏中存在一个大的地图,我想知道如果不是绘制形状(平均每次250+),当玩家不能看到它们会在游戏的表现。另外,我正在检查玩家距离大约500多个其他位置矢量(用于敌人,食物,子弹的相互作用),这需要大量的平方根。如果我使用X和Y组件进行粗略估计,这是否会显着提升游戏性能?JavaScript - 绘制物体脱离屏幕和其他游戏优化

+0

任何其他提高游戏性能的方法? – Canatron

回答

0

回答这些问题的唯一方法就是尝试一下,看看会发生什么。您必须权衡计算屏幕上是否有东西与绘制它的成本的成本。再次,你将不得不测量两个并为自己做出决定。

至于测量距离,你可以尝试使用距离平方来避开平方根。

或者您可以尝试将对象存储在数据结构中,如quadtree,它允许您只检查附近对象的距离。或者更简单一些:你是否真的需要所有的500个载体始终处于活动状态?为什么不储存它们,只有在需要时才激活它们?

但是,再次回答你的问题的唯一方法就是尝试一下。我们无法告诉你这是否会大大提高游戏的性能。只有通过尝试才能回答这个问题。祝你好运。

+0

我的男人凯文!我一定会研究距离平方法,并将对象存储在“四叉树”中,再次感谢您的帮助。 – Canatron

+0

@Canatron没问题。距离平方公式就是没有最终平方根的距离公式。如果你不需要知道实际的数字,这是比较距离的好方法。四叉树只是一种方式。有一些更简单的方法,比如将对象存储在玩家可以输入的每个“区域”的不同'ArrayList'中。 –

+0

数学并没有落后于游戏,它正在绘制所有这些形状!我给玩家一个“渲染距离”,让玩家看不到过去的圆圈(圆圈比当然屏幕更大......所以没有什么不同),但是性能的差异非常明显! (直到玩家变得如此之大以至于他们能够看到整个地图,在这个地图上必须绘制所有形状...... – Canatron