我正在构建一个 cocos2d 连续运行的 ios 游戏,其中一个角色被动画化以穿过一个场景。背景、角色脚下的地面和奔跑角色身后的栅栏沿相反方向移动以模拟向前运动。角色本身是动画的,可以原地运行。偶尔会有额外的精灵在场景中移动。
我所有的动作(除了角色的原地动画)都发生在更新方法中。
我注意到当额外的精灵从场景中移动时,所有的移动部件都会结结巴巴。当没有额外的精灵时,口吃就会消失。
我还注意到,在 ipad 3 (ios 6.0.1) 中几乎察觉不到口吃,而在 iphone 3gs (ios 6.0.1) 和 ipad 1 (ios 5.1.1) 中最为明显,在iphone 4 (ios 6.0.1)。
我不知道从哪里开始解决这个问题 - 我尝试移除额外精灵的实际渲染,并且我还尝试移除角色后面的栅栏 - 但没有任何更改对口吃产生任何影响。
有什么建议么?
更新:通过运行时间分析器修复它,如下面的@Fogmeister 建议的那样。原来我在每次更新时都在做磁盘 i/o 以查找一些状态变量。我优化了它,所有设备上的口吃都消失了。谢谢!