Является ли пакетная анимация спрайтов более эффективной с одним спрайтом? (Cocos2d)

В руководстве по программированию cocos2d есть следующий код:

CGSize s = [[CCDirector sharedDirector] winSize];
CCSprite *sprite = [CCSprite spriteWithSpriteFrameName:@"grossini_dance_01.png"];
sprite.position = ccp( s.width/2-80, s.height/2); 

CCSpriteBatchNode *batchNode = [CCSpriteBatchNode batchNodeWithFile:@"animations/grossini.png"];
[batchNode addChild:sprite];
[self addChild:batchNode];

NSMutableArray *animFrames = [NSMutableArray array];
for(int i = 1; i < 15; i++) {
    CCSpriteFrame *frame = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:[NSString stringWithFormat:@"grossini_dance_%02d.png",i]];
    [animFrames addObject:frame];
}
CCAnimation *animation = [CCAnimation animationWithName:@"dance" delay:0.2f frames:animFrames];
[sprite runAction:[CCRepeatForever actionWithAction: [CCAnimate actionWithAnimation:animation restoreOriginalFrame:NO] ]];

Он добавляет простую анимацию в виде массива фреймов и добавляет спрайт, который будет анимировать эти фреймы в CCSpriteBatchNode. Мой вопрос: будет ли пакетное рисование одного анимированного спрайта более эффективным, чем вообще не использовать пакетную обработку? Поскольку на каждом розыгрыше нарисован только один кадр и только один объект, я бы так не подумал. Единственное преимущество, которое я думаю, было бы, если бы вы добавили более одного объекта - чтобы они могли быть нарисованы по координатам фрейма из одной и той же текстуры за один чертеж. Правильно ли мое рассуждение?

1 ответ

Благодаря ответам здесь:

http://www.cocos2d-iphone.org/forum/topic/29354?replies=3

По крайней мере, один человек подтвердил, что он не имеет никакой выгоды от одного объекта, но может немного снизить производительность из-за дополнительной сложности.

Другие вопросы по тегам