这真的很简单,我想我只是想得到一些反馈。
长话短说,我是一个超级新手编程,我最近(大约6个月前)开始做一些游戏编程,它进行得很好。我可以让一切正常工作,所以这不是我的问题。相反,这与传递对象有关。
我在游戏循环中多次传递相同的对象或变量。因此,对于相机,相机是用来绘制所有对象的。因此,首先将摄影机传递给容器对象(就像绘制动画的帧一样,动画对象包含帧),然后将其传递给单个对象,然后由单个对象进行绘制。现在,这只通过了相机可能最多3次,所以这是不担心,还没有。
更令人关注的是类似的多次传递,但具有组成地图的瓦片阵列。首先将数组传递给玩家或敌人的“更新”函数,然后将其传递给单独的移动和输入函数以检查冲突,并在这些函数中将其传递给碰撞检测函数。所以不管怎样,对象(在本例中,大约有100~1000个瓦片的数组)在每个游戏循环中会被传递4-5次。所以我想知道我是否应该使用一个常量引用,而不是一遍又一遍地传递它。
这是一个很小的开销问题,我想我知道答案,但我不想为了发现我让应用程序变得更慢而更改所有这些函数(并不是因为它现在以800fps的速度运行)。
发布于 2010-11-17 01:09:31
如果你可以修改你的编程风格,使你的代码执行得更好,而不会在维护和可读性方面花费任何代价,你绝对应该这样做。
除此之外,优化应该限制在您知道自己需要的情况下,因为您已经实际测量了自己的性能,并发现它缺乏。
发布于 2010-11-17 01:05:17
1)如果您的应用程序是already fast enough,则不要执行任何操作
2)通过引用传递(使用&或*)的成本很低。就这么做吧。
发布于 2010-11-17 01:20:39
如果你使用的是基元数组,它们总是通过引用传递。
但除此之外,我推荐Alex Brown的answer --它既简单又便宜,所以除非你有理由不去做,否则就去做吧。
https://stackoverflow.com/questions/4196780
复制相似问题