Я играю с маленькой игрой на своем 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, и это дало дополнительный кадр или два.Я получаю идентичные частоты кадров, используя изображение 1024x768 вместо мозаичной версии.
Поскольку мой фон останется выровненным по оси, немасштабированным и в целом статичным.Я полагаю, что должен быть более быстрый способ нарисовать его, чем обычный CCSprite
?