2

在一个相当小的游戏中,我在大型计划更新方法中更新了所有内容(精灵、速度、背景等)。我想知道只有一个大型计划更新或几个只更新几个精灵之间是否存在性能差异?

我还想知道以下之间是否存在性能差异:

    sprite.position = ccpAdd(sprite.postion, (delta*10, delta*5));

    sprite.position = ccp(sprite.position.x + delta*10, sprite.position.y + delta*5);

通过 ccp 与 CGPointMake 分配职位之间是否存在性能差异?

4

3 回答 3

2

无所谓。

如果你真的,真的想知道,测量它

这些都是细枝末节。这就像问你的车打蜡后是否跑得更快。可能会,也可能不会。在 99.99999% 中,这根本不重要,因为差异可以忽略不计,并且其他影响因素的权重更大(汽车:交通和道路状况/游戏:在屏幕上绘制东西)。

于 2013-01-03T11:54:02.650 回答
0

ccpAdd被解析ccp为然后被解析为,CGPointMake因此它们在您的编译代码中是相同的。它们都是#define在预处理器中完成的。

于 2013-01-03T06:10:59.953 回答
0

实际上,ccpAdd&ccp在您的编译代码中是相同的。

至于您的性能问题,如果您有很多精灵要更新,您可能希望生成一个后台线程来在那里进行部分更新。 performSelectorInBackground:withObject:并且不要忘记将代码添加到自动释放池中

于 2013-01-03T11:54:37.510 回答