可以说我有一个点,它在二维平面上的位置。这个点会随机改变它的位置,但这不是重点,所以让我们假设它有自己的速度,并且它在宽度和高度受限的平面上移动;因此,经过一段时间的移动,该点将到达平面边界。但它不允许离开飞机。
所以现在我可以检查每一帧的点位置,看看它是否到达边界。
if(point.x>bound.xMax)point.x=bound.xMax
如果我想将自己传送到飞机的第二侧,我可以简单地:
point.x = point.x%bound.xMax;
但是我需要将点位置存储在整数中。
对于我的 corei7 1.6 上的 1000 万个值,两种解决方案都有相似的时间。41ms vs 47 on second,所以在这种情况下使用模函数是没有意义的,只检查值会更快。
但是,有什么技巧可以让它更快吗?用于迭代数组的多线程方法不是解决方案。
也许我可以将我的绑定值缩放到一些奇怪的值,例如丢弃位置值的二进制解释的一部分。
如果有一些技巧可以做到,我认为有人在我之前做到了:) 你知道任何可以帮助我的解决方案吗?