Cocos2d 精灵深度解析与优化实践
1. CCSpriteBatchNode 简介
在屏幕上绘制纹理时,图形硬件需要进行渲染准备、图形渲染以及渲染后的清理工作。每次绘制单个纹理都会产生一定的开销,而使用 CCSpriteBatchNode 可以有效减轻这种开销。当告知图形硬件有一组使用相同纹理的精灵需要渲染时,它只需对这组精灵执行一次准备和清理步骤。
例如,屏幕上有数百个相同的子弹,如果逐个渲染这些子弹,帧率至少会下降 15%,若子弹纹理更大且精灵有旋转和缩放操作,帧率下降会更明显。使用 CCSpriteBatchNode 可以让应用保持高速运行。你可以尝试 Kobold2D 模板项目 Sprite-Performance 来测试精灵批量渲染的效果,也可以阅读相关博客文章: www.learn-cocos2d.com/2011/09/cocos2d-spritebatch-performance-test 。
下面是正常创建 CCSprite 的方式:
CCSprite* sprite = [CCSprite spriteWithFile:@"bullet.png"];
[self addChild:sprite];
若要使用 CCSpr
超级会员免费看
订阅专栏 解锁全文
70

被折叠的 条评论
为什么被折叠?



