Я играю с маленькой игрой на своем iPad, используя cocos2d, и я столкнулся с некоторыми проблемами производительности. У меня есть изображение 512x512, выложенное как мой фон. Это дает мне около 40 кадров в секунду с 20 спрайтами (в 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];
Если я удалю фон, я получу твердую 60 кадров в секунду.
Я попытался преобразовать изображение в PVRTC, и это дало дополнительные fps или два. Я получаю одинаковые фреймы с использованием изображения 1024x768 вместо черепичной версии.
Так как мой фон останется ориентированным по оси, немасштабированным и обычно статическим. Я полагаю, что должен быть более быстрый способ сделать это, чем иметь его как обычный CCSprite
?