JavaScript - 从屏幕上绘制对象和其他游戏优化
JavaScript - Drawing objects off the screen and other game optimizations
在我的游戏中存在一张大地图,我想知道如果玩家看不到形状时不绘制形状(平均一次超过 250 个)是否会对游戏性能产生任何影响。
此外,每一帧我都会检查玩家与大约 500 多个其他位置向量(用于敌人、食物、子弹交互)的距离,这需要大量的平方根。如果我仅使用 X 和 Y 组件的组合进行原始估算,这会显着提高游戏性能吗?
回答这些问题的唯一方法是尝试一下,看看会发生什么。您必须权衡计算某物是否在屏幕上的成本与绘制它的成本。同样,您将必须衡量两者并自行决定。
关于距离的测量,你可以尝试使用距离的平方来避免平方根。
或者您可以尝试将对象存储在 quadtree 之类的数据结构中,这样您就可以只检查附近对象的距离。或者更简单地说:你真的需要所有 500 个向量一直处于活动状态吗?为什么不存储它们并仅在需要时才激活它们?
不过,要回答您的问题,唯一的方法就是尝试一下。我们无法告诉您这是否会大大提高您的游戏性能。只有您可以通过尝试来回答这个问题。祝你好运。
在我的游戏中存在一张大地图,我想知道如果玩家看不到形状时不绘制形状(平均一次超过 250 个)是否会对游戏性能产生任何影响。
此外,每一帧我都会检查玩家与大约 500 多个其他位置向量(用于敌人、食物、子弹交互)的距离,这需要大量的平方根。如果我仅使用 X 和 Y 组件的组合进行原始估算,这会显着提高游戏性能吗?
回答这些问题的唯一方法是尝试一下,看看会发生什么。您必须权衡计算某物是否在屏幕上的成本与绘制它的成本。同样,您将必须衡量两者并自行决定。
关于距离的测量,你可以尝试使用距离的平方来避免平方根。
或者您可以尝试将对象存储在 quadtree 之类的数据结构中,这样您就可以只检查附近对象的距离。或者更简单地说:你真的需要所有 500 个向量一直处于活动状态吗?为什么不存储它们并仅在需要时才激活它们?
不过,要回答您的问题,唯一的方法就是尝试一下。我们无法告诉您这是否会大大提高您的游戏性能。只有您可以通过尝试来回答这个问题。祝你好运。