Я сделал игру в плитке. Прямо сейчас я испытываю стресс, тестируя возможности моего телефона, увеличивая количество узлов в сцене. Там есть материал, основанный на физике, движение AI, День & Ночная система, частицы появляются здесь & & много других вещей, идущих под капотом для моих сцен. Что я хочу знать, есть разница в производительности при использовании 16x16 плит, что у меня есть сейчас, а не с использованием 32x32 плит? Эти плитки - это просто изображение, которое было добавлено к сцене; у них нет никаких физических тел или чего-то еще такого. У них есть свойства, которые я на них накладывал при создании карты в Tiled, но я не думаю, что это влияет на производительность. Каждая карта имеет несколько слоев (фон, растительность, точки появления, здания, иногда еще несколько). Вот фрагмент кода, как плитки оказываются за 1 такого слоя:Sprite Kit обеспечивает производительность с использованием плиток 16x16 против 32x32 плиток?
if([map propertiesForGid:tileGid][@"shrub"])
{
SKSpriteNode *tile = [layer tileAtCoord:coord];
tile.name = @"vegShrub";
[self addChild:tile];
}
else if([map propertiesForGid:tileGid][@"tree"])
{
SKNode *tile = [[Breakable alloc] initWithWhole:[atlas textureNamed:@"tree"] broken:[atlas textureNamed:@"tree-stump"]];
tile.position = [self pointForCoord:coord];
[self addChild:tile];
[layer removeTileAtCoord:coord];
}
Если я использую 32x32 плитки над моей текущей 16x16 плитки, Я как-то освободить память или «разгрузить» от системы?
Возможно, это не повлияет, поскольку вы будете рисовать одинаковое количество пикселей (fillrate) , Это может иметь значение, если вы перечисляете фрагменты спрайтов каждый кадр и неэффективны в этом цикле рендеринга, или вы делаете сумасшедшие вещи для каждого спрайта в каждом кадре. – LearnCocos2D