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

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

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

Ответы [ 3 ]

4 голосов
/ 17 сентября 2009

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

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

1 голос
/ 17 сентября 2009

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

0 голосов
/ 17 сентября 2009

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

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

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

Проверьте это, чтобы начать:

http://developer.apple.com/iphone/library/navigation/index.html?section=Topics&topic=Audio%20%26amp%3B%20Video

...