Наша первая игра вот-вот выйдет в эфир. Мы обнаружили, что производительность комплекта спрайтов достаточно высока. Мы перемещаем сотни спрайтов и создаем узлы эффектов и звуки. Однако вы не должны осмелиться установить счет. SKLabelNode работает очень медленно.
после запуска диагностики было обнаружено, что виновником был следующий код.
scoreLabel.text = [NSString stringWithFormat:@"Score: %d",my_score];
В диагностическом инструменте команда setText показывалась как самая дорогая. Мы даже позаботились о том, чтобы его вызывали не так часто. Это по-прежнему приводило к задержке, из-за которой спрайты дергались / дрожали / подпрыгивали. Как только мы удалили линию... мы получили плавное движение.
Если мы не можем использовать SKLabelNodes внутри игровой сцены, какие еще есть варианты?