使用CCSpriteBatchNode的好处是它的每个子节点不会被OpenGL单独绘制,如果你有很多在屏幕上相同的图像,使用批处理节点可以提高性能。
然而,我想知道如果将整个纹理图集加载到CCSpriteBatchNode中时会发生什么;这是否意味着当你使用纹理图集中的一个单一精灵帧时,它(在背后)绘制了纹理中的所有精灵帧?
换句话说,这样做和这样做之间的性能差异是否存在:
然而,我想知道如果将整个纹理图集加载到CCSpriteBatchNode中时会发生什么;这是否意味着当你使用纹理图集中的一个单一精灵帧时,它(在背后)绘制了纹理中的所有精灵帧?
换句话说,这样做和这样做之间的性能差异是否存在:
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"texture.plist"];
CCSpriteFrame *starFrame=[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"throwstar.png"];
stars=[CCSpriteBatchNode batchNodeWithTexture:starFrame.texture];
[self addChild:stars];
或者可以直接使用整个纹理图集,而不是批处理节点的starFrame.texture
?