-1
这是我目前如何检查碰撞我的瓦片地图:哪个更有效率:循环遍历int [,]两次,还是循环遍历一次?
int[,] layer;
for (x = 0; ...)
{
for (y = 0; ...)
{
//Do collision checks here, based on index.
}
}
这是我想到的选择:
List<Collision> collisions;
for (i = 0; i < collisions.Count; i++)
{
//Check for "MovingObject to Collision" here.
}
我会假设,因为我从两个for
开关循环到一个,它会更快。
- 性能方面,这与我通过
for
循环进行迭代有什么关系吗? - 出于好奇,我在
foreach
循环中迭代的内容是否重要?
循环在一个循环内有一个复杂的** O(n^2)**循环一次有** O(n)** **。但这两个代码又是如何相互关联的呢? – 2015-02-11 04:28:05
由于两种情况下的内码不相同,因此无法确定。 – NoChance 2015-02-11 04:31:57
运行代码最有效,并在需要时进行优化。 – SimpleVar 2015-02-11 04:38:29