Хорошо, давайте запустим математику:
15 раз 1024x768 изображений в секунду. Если вы используете текстурные атласы 4096x4096, вы можете поместить их в единый атлас текстуры. Это занимает 1 секунду.
Это значит, что вам нужно загрузить другой атлас текстуры каждую секунду. В большинстве случаев вы можете иметь 2-3 таких текстурных атласа в памяти (консервативно каждый использует память 64 МБ).
Действительно единственный способ сделать это возможным - использовать атласы текстур .PVR.CCZ для увеличения времени загрузки и сокращения использования памяти. Вам все равно придется часто загружать/выгружать текстурные атласы (в течение нескольких секунд). Итак, вы должны проверить, насколько быстро загружается текстура 4k .PVR.CCZ и будет ли это влиять на скорость.
Если это слишком медленно (я подозреваю, что это будет так), вам придется использовать текстуры 1024x1024 .pvr.ccz (одиночные кадры) и дольше использовать кеширование 4 или более из них с использованием методов async CCTextureCache (и uncache текстуры, которую вы сейчас заменяете), так что загрузка новых текстур происходит в фоновом режиме и не влияет на скорость анимации.
Поскольку речь идет о вращении, вы должны убедиться, что в кеше должны быть по крайней мере один лучший два кадра в любом направлении. Поскольку вращение может происходить на разных скоростях, пользователь может по-прежнему испытывать задержки независимо.
Вы должны более точно уменьшить глубину цвета текстур как можно больше, пока это не повлияет на качество изображения слишком много.
Если вы примените все трюки в книге, я уверен, что это выполнимо. Но это не будет так просто, как «играть в анимацию» и сделать с ним. Если это то, что вы хотели знать.
Возможно, вы можете использовать видео и воспроизводить его в AVPlayerLayer? – Vladimir
Но как я могу связать видео с контактами, и может ли он быть достаточно быстрым, чтобы реагировать на прикосновения? Я имею в виду, что пользователь может медленно или быстро перемещаться, а скорость анимации должна точно соответствовать скорости нажатия. – Alex
Вам не нужно связывать видео с контактами. поместите видео в слой и добавьте пустой слой над ним, который включен касанием. Сделайте вашу обработку касания внутри этого слоя, тень к той, у которой есть видео. – YvesLeBorg