我在iphone中使用cocos2d,在我的游戏中我使用精灵作为静态背景图像。
我注意到在删除用于添加精灵的代码时,帧速率从~30fps变为超过40fps。是否有其他方式来显示更便宜的静态背景?我根本没有移动背景精灵。
立即编码:
background = [Sprite spriteWithFile:@"t1_5.jpg"];
[self addChild:background z:0];
background.position = ccp(240, 160);
答案 0 :(得分:1)
不是一个简单的问题,就像每个涉及Cocos2D性能的问题一样。大图像总是需要CPU来渲染。你只能减少它以使性能可以接受(稳定30 fps是一个好结果)
原始开发者提供pretty good advices。
根据我自己的经验,我更喜欢使用带有小精灵的彩色填充背景而不是使用纯色图像背景。重复元素也应该use single texture具有不同的精灵。
将纹理质量降低到16位也有帮助。
[Texture2D setDefaultAlphaPixelFormat:kTexture2DPixelFormat_RGBA4444]; // add this line at the very beginning
如果您提供更多信息,例如附加背景本身,我可以更具体地讨论主题。
答案 1 :(得分:0)
我建议将所有Sprite转换为AtlasSprite。这样你就有了一个加载背景文件的AtlasSpriteManager,当你需要精灵时,它只是剪切图像。 AtlasSprite通常比传统的Sprite更快。