gra*_*ukt 10 iphone performance objective-c cocos2d-iphone ipad
我正在使用cocos2d在我的iPad上玩一个小游戏,我遇到了一些性能上的担忧.我将512x512图像平铺为背景.这给了我大约40fps的20个精灵(在a CCSpriteBatchNode),背景的代码是这样的:
CCSprite *background;
background = [CCSprite spriteWithFile:@"oak.png" rect : CGRectMake(0,
0,
size.width,
size.height)];
background.position = ccp( size.width /2 , size.height/2 );
ccTexParams params = {GL_LINEAR,GL_LINEAR,GL_REPEAT,GL_REPEAT};
[background.texture setTexParameters: ¶ms];
Run Code Online (Sandbox Code Playgroud)
如果我删除背景,我得到一个坚实的60fps.
我已经尝试将图像转换为PVRTC,这确实提供了额外的fps或两个.我使用1024x768图像而不是平铺版本获得相同的帧速率.
由于我的背景将保持轴对齐,未缩放且通常是静态的.我认为应该有一种更快的方式来绘制它而不是像常规一样CCSprite?

结果cocos2d以神秘的方式移动.将背景添加到其他空包装CCSprite会使帧速率恢复到60:
CCSprite *spback = [(CCSprite*)[CCSprite alloc] init];
[self addChild:spback];
CCSprite *sp = [CCSprite spriteWithFile:@"Background.png"];
sp.position = ccp(1024/2, 768/2);
[spback addChild:sp];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6359 次 |
| 最近记录: |