Даже на мощных устройствах пользователи неожиданно сталкиваются с падением плавности, зависаниями кадра и...
Видео, кодеки, железо: немного об особенностях VideoPlay на разных устройствах.
Скучающий геймер сёрфит барахолки и доски объявлений, чтобы поменять свой 2К монитор, на большой пожелтевший ящик с разрешением 1024×768 – думаете это выдумка и абсурд? Однако большинство графоманов утверждают, что на таких мониторах куда приятнее играть чем на современных IPS и даже некоторых дорогих AMOLED. И ведь это действительно так. Ламповые мониторы обладают идеальной четкостью в движении. Картинка в них формируется импульсно, люминофор мгновенно загорается и гаснет, поэтому при повороте камеры в игре или быстром беге изображение абсолютно не смазывается. Само качество картинки не зависит от пикселей и разрешения, так как луч, может растягиваться, в любых направлениях, «бесконечно много».
|
|
***
Чем же «берут» современные мониторы и дисплеи?
Конечно же, в первую очередь своими компактными размерами, и более длительным ресурсом работы.
Срок службы IPS 10 – 15 + лет при ежедневном использовании. ЭЛТ-мониторы (электронно-лучевая трубка) 5–8 лет активного использования, далее сильно падает яркость и четкость.
Выгорание экрана у современных мониторов практически отсутствует. У ЭЛТ высокий риск выгорания люминофора от статичных картинок.
Стабильность геометрии. У ЖК мониторов, идеальная всегда, определяется физической сеткой пикселей. Старые большие мониторы, требуют, постоянной настройки сведения лучей, и помимо всего, они страдают от магнитных полей.
При всех своих недостатках в качестве изображения современные мониторы, все ровно выигрывают. И вот как это происходит.
Для качественного отображения на современных экранах используются аппаратные и программные средства. Видеокарты (GPU), контроллеры дисплея, процессоры и чипы. Матрицы самого экрана физически обрабатывают пиксели, отвечают за яркость, контраст и частоту обновления (например, технологии вроде HDR или FRC). Драйверы, операционные системы, графические движки и алгоритмы интерполяции (например, DLSS, FSR или сглаживание) достраивают кадры и масштабируют картинку под нужное разрешение.
|
> Фото. Где то на окраинах. |
*******
Протестировав компьютер и телефон в видео тесте , вы можете получить очень неоднозначные показатели. Частота кадров FPS на телефоне будет маленькой и нестабильной, наблюдается сильная потеря кадров (Frame Drops). Хотя вроде бы, мы смотрим видео на телефоне и не замечаем пропуска кадров.
Почему же так происходит?
Лимиты мобильного браузера Android WebView.
Мобильный Google Chrome на Android работает совсем не так, как его десктопная версия. В целях экономии заряда батареи и оперативной памяти мобильный движок искусственно ограничивает выделение ресурсов на одну вкладку. Android-браузер просто начинает отбрасывать кадры (frame drops), чтобы приложение не зависло намертво и не вылетело по нехватке памяти (Out of Memory). На ПК таких жестких лимитов нет.
Аппаратная поддержка кодеков (Hardware Decoding).
Видеокарта на ПК (Nvidia, AMD или встроенная Intel/AMD) имеет мощные, выделенные на кремнии блоки для декодирования видео (H.264, HEVC, AV1). Они могут крутить сотни кадров в секунду, почти не нагружая систему.
На мобильных процессорах (особенно бюджетных или средних чипах MediaTek, Snapdragon, Exynos) встроенный видеодекодер, часто не имеет лицензий или физических блоков для воспроизведения видео. Смартфон переключается на программное декодирование (software decoding) силами центрального процессора, который моментально перегружается, из-за чего FPS падает до 10 – 20 кадров.
Энергопотребление и тепловыделение (Троттлинг).
На ПК: Процессор и видеокарта могут потреблять от 60 до 300+ Ватт энергии и охлаждаются массивными кулерами. Они могут держать максимальную частоту бесконечно долго.На Android: Смартфон ограничен в 5–7 Ватт и не имеет вентиляторов. Как только тяжелый процесс нагружает графический чип, процессор за пару секунд нагревается до критических 40–45°C. Срабатывает терма-защита, устройство сбрасывает частоты процессора в 2–3 раза и наблюдаются фризы – микро-паузы.
Архитектура процессоров (x86 против ARM).
Процессоры ПК x86-64 изначально создавались для максимальной производительности на одно ядро и быстрой работы с памятью. Процессоры смартфонов (ARM) создавались для максимальной энергоэффективности. Часто мобильный браузер по ошибке отправляет тяжелый поток вычислений на энергоэффективные ядра, считая эту задачу фоновой.
Из всего этого понятно, что на портативных компьютерах, использующих аккумуляторы, видео графика хромает, ведь это очень ресурса потребляемый процесс. Каждый крупный производитель находит свои решения, от сюда и прогрессия цен на сами устройства. Многие технологии запатентованы и требуют специальных сборов с производителей. Например, лицензионные отчисления, за использование видеокодека H.264 (AVC), без которого невозможно воспроизведение видео в формате MP4. Технологий обработки видео и графики существует большое множество, некоторые работают хорошо, другие не совсем.
|
> Кремниевый чип на плате. Изображение сгенерировано с помощью ИИ. |
Дорисовка кадров чипом (MEMC и AI Frame Generation).
Современные процессоры Snapdragon, MediaTek и выделенные графические сопроцессоры от Pixelworks встраивают технологию MEMC Motion Estimation, Motion Compensation. Если видеофайл из-за потери производительности, не успел вовремя отдать следующий кадр, специальный алгоритм анализирует предыдущий и последующий кадры, сам дорисовывает промежуточный кадр и выводит его на экран. Пользователь видит плавную картинку, хотя само приложение в этот момент пропустило кадр.
Динамическое изменение частоты экрана (LTPO).
Экраны с поддержкой Variable Refresh Rate (VRR) умеют мгновенно подстраивать частоту обновления панели под реальный FPS рендеринга.
Размытие в движении Motion Blur.
Когда вы быстро сворачиваете приложение или листаете меню, система искусственно добавляет к краям объектов легкое размытие. Человеческий глаз физиологически не способен заметить пропуск 1–3 кадров, если объект на экране движется быстро и слегка размыт. Если же анимация будет идеально резкой, то при выпадении кадра вы мгновенно увидите скачок.
Выравнивание кадров (Frame Pacing / Swappy).
В Android встроены специальные библиотеки (например, Android Frame Pacing library), которые помогают распределять время между кадрами. Когда процессор не успевает обработать сложную сцену за положенные 8.3 миллисекунды для 120 Гц, она искусственно растягивает время показа текущего кадра и плавно распределяет задержку на последующие. FPS может кратковременно просесть, но визуально это будет мало заметно.
Приоритизация потока рендеринга (Triple Buffering).
Android, система использует тройное кэширование кадров. В памяти устройства всегда лежит 2–3 готовых кадра, ожидающих отправки на дисплей. Если процессор на долю секунды завис, дисплей берёт запасной кадр из буфера. Это дает процессору время, чтобы не показать пользователю пустой белый экран или зависшую картинку.
Снижение разрешения во время воспроизведения (Dynamic Resolution).
Если графическая система видит, что не справляется с потоком данных и начинает пропускать кадры, система автоматически снижает разрешение видео, например, с Full HD до HD или уменьшает качество текстур. Видео становится чуть менее четким, но частота кадров возвращается в норму.
> ЭЛТ монитор и LCD. Изображение сгенерировано с помощью ИИ.
