Что показывает лучшую производительность? Воспроизведение видеоклипа или анимация последовательности изображений с помощью UIImageView?

#iphone #movieclip

#iPhone #movieclip

Вопрос:

Технические характеристики: около 320 x 270 пикселей, 5 секунд. Я не знаю точно, сколько изображений требуется для плавной анимации, но давайте предположим, что 30.

Каков наилучший способ воспроизведения этого? В виде видеофайла в каком-либо режиме quicktime view (если таковой имеется) или в виде последовательности анимированных изображений с помощью UIImageView? Я не уверен, но полагаю, что загрузка 30 изображений в секунду на ipod touch практически невозможна. Есть идеи?

Ответ №1:

Как правило, к фильму применяется некоторое сжатие и, возможно, даже используется сжатие с потерями. Это означает, что процессору потребуется работать интенсивнее, но у него намного меньше памяти для чтения. Процессор — это быстрый ресурс. По сравнению с процессором память работает медленно. Таким образом, сжатый фильм (логически) будет иметь лучшую производительность.

На практике это может зависеть от множества факторов, хотя фильмы, как правило, лучше оптимизированы для анимации. При медленном процессоре и чрезвычайно быстрой памяти анимация с несколькими изображениями может быть просто быстрее. Кроме того, это зависит от того, как вы храните это количество изображений. Но в 99% всех ситуаций фильмы будут иметь лучшую производительность.

Комментарии:

1. Специфично для iPhone? Или в целом?

2. Честно говоря, и то, и другое. Даже в iPhone производительность процессора намного выше, чем оперативной памяти.

Ответ №2:

Ну, я думаю, это зависит …. если предполагается, что фильм должен быть статичным, то наиболее подходящим способом является просмотр фильма … он аппаратно ускорен, и легко написать код для его использования. Если вы планируете модифицировать анимацию и повторно использовать ее, вы могли бы загружать и модифицировать изображения или загружать их несколько подряд, но я полагаю, что для решения этой задачи это слишком много кода.

Ответ №3:

Почему вы не хотели бы использовать видеофайл? Если у вас нет особых причин, я бы рекомендовал просто использовать стандартные функции воспроизведения видео, предоставляемые Apple.

Это дает вам несколько преимуществ:

  • Даже если предлагаемый вами метод будет работать плавно, он, безусловно, не будет так хорошо оптимизирован для графического чипа и, следовательно, израсходует больше заряда батареи
  • Это очень легко реализовать, в то время как ваша идея была бы довольно сложной, и вы потратили бы много времени на, возможно, менее важную часть вашего приложения.
  • Это не приведет к появлению каких-либо новых ошибок и, скорее всего, намного лучше протестировано, чем ваше пользовательское решение.

Ознакомьтесь с этим, чтобы начать:

http://developer.apple.com/iphone/library/navigation/index.html?section=Topicsamp;topic=Audio & Video