Поддержание хорошего спектакля прокрутки при использовании AvPlayerIOS

Программируем под IOS
Ответить
Anonymous
 Поддержание хорошего спектакля прокрутки при использовании AvPlayer

Сообщение Anonymous »

Я работаю над приложением, где есть представление о сборе, а ячейки представления коллекции могут содержать видео. Прямо сейчас я отображаю видео с помощью AvPlayer и AvPlayerLayer . К сожалению, производительность прокрутки ужасна. Похоже, AvPlayer , AvPlayerItem и AvPlayerLayer выполняют большую часть своей работы над основной темой. Они постоянно вынимают замки, ожидают семафоров и т. Д., Которые блокируют основной поток и вызывают серьезные падения кадра. < /P>

Есть ли способ сказать Avplayer < /code>, чтобы прекратить делать так много вещей в главной теме? Пока что я пробовал, не решило проблему. Используя это, я могу убедиться, что все происходит вне основной ветки, и я могу достичь ~ 60 кадров в секунду при прокрутке и воспроизведении видео. К сожалению, этот метод намного ниже уровня, и он не обеспечивает такие вещи, как воспроизведение звука и время, вырываясь из коробки. Есть ли способ получить аналогичную производительность с AvPlayer ? Я бы предпочел использовать это. Создание AvPlayer и связать с экземпляром AvPlayerItem начинается куча работы, которые батуты на главную ветку, где он ждет семафоры и пытается получить кучу блокировки. Количество времени. Это задерживает основной поток, увеличивается довольно резко по мере увеличения количества видео в Scrollview. < /P>

Код: Выделить всё

AVPlayer
Dealloc также кажется огромной проблемой. Dealloc'sing a AvPlayer также пытается синхронизировать кучу вещей. Опять же, это становится чрезвычайно плохо, когда вы создаете больше игроков. Блокировка основной нити, подобной этой, является такой любительской вещью, поэтому трудно поверить, что инженеры Apple сделали бы такую ​​ошибку. В любом случае, надеюсь, они смогут исправить это в ближайшее время.

Подробнее здесь: https://stackoverflow.com/questions/303 ... g-avplayer
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»