原文:http://www.frozax.com/blog/2012/05/optimizing-graphics-performance-ios-android-cocos2dx/
在开发Don't Feed the Trolls的期间主要的测试设备是一台Acer平板A500. 这款平板非常强劲,我用它测试的时候没有发生任何故障
当然,我也在许多android设备和IOS设备上测试过。当我在HTC Desire上面测试的时候发现了一个很大的性能问题。
在这篇文章中,我将解释引起游戏性能低的原因和我是怎么样修复的。我会给你一些方法去找出什么地方会出现一些潜在的问题。
问题一:
在游戏当中,当接近关卡结束的时候游戏变得越来越慢
当然,在关卡结束的时候会有很多熊和怪物出现,所以问题可能出在这儿。但是,在同一时间没有多个3到4个角色出现。
为了避免在玩游戏期间申请分配内存,我在每关开始的时候预分配了所有要出现的角色的内存,所以排除是由内存引起的故障。
最后我发现问题是由角色消失引起的。这些角色已经显示出来了,只是完全透明而已,我用CCFadeOut action去隐藏这些精灵。
在没CCFadeOut执行结束后,那些本来应该消失的角色还是被显示出来的 只是你看不见而已。最好的修复方法就是在执行完
CCFadeOut的时候执行CCHide就可以避免调用无用的绘制。
修复1:确保没有被设置不可见的精灵(完全透明或者低透明)。销毁或隐藏这些精灵
问题2:
游戏排行榜菜单非常慢
是由于菜单在画出屏幕后的菜单项还是存在这并没有消失,所以会拖累性能,解决方法就是当菜单的某项滑出屏幕后就隐藏掉
修复2:不要让游戏元素在滑出屏幕外还存在着,移除掉或者隐藏
问题3:
当显示排行榜的时候会变得很慢(就是很卡的意思)
主要是因为CCIBMLable的问题