в Без рубрики

Высокая загрузка CPU при просмотре HD видео на YouTube

В очередной раз просматривая любимый канал на YouTube услышал, что кулер на моём MacBook раскрутился до максимальных оборотов (это подтвердили показатели приложения smcFanControl). Для выяснения причин запустил Мониторинг системы и увидел такую картину:

youtube-hd-60fps-1

Процесс Google Chrome Helper «съел» 258 % процессора =) (для Mac’a это значение нормальное и показывает, что полностью загружено 2,5 ядра)

Если же просматривать видео в браузере Safari, то картина меняется:

youtube-hd-60fps-2

Загрузка процессора 25% и кулер не шумит и температура процессора нормальная.

А причина всего этого кроется в том, что Chrome поддерживает воспроизведение HTML5 видео используя кодеки VP8/VP9, что подтверждается переходом в Chrome по ссылке http://youtube.com/html5

youtube-hd-60fps-3

Сотовая поддержка это отлично, но проблема в том, что не все железо поддерживает программное декодирование VP8/VP9 и приходится «подключать» силы основного CPU для того, чтобы такое видео воспроизводить.

Safari поддерживает HTML5 видео, но в свою очередь использует кодек H.264, который без проблем поддерживается железом и силы CPU не привлекаются, и да — VP8/VP9 не поддерживает

youtube-hd-60fps-4

Немного отступим в сторону. Когда Google в середине 2010 анонсировал кодек VP8 множество компаний (таких как nVidia, AMD, Qualcomm) объявили о том, что будут поддерживать аппаратное декодирование VP8, но по прошествию 5 лет, на рынке так и не появилось подобных устройств.

В недавном анонсе VP9 отмечается, что «более 20 партнеров запустят производство устройств в аппаратной поддержкой» VP9. Но… видимо только Intel выпустила обновленные драйверы для платформ Haswell и Broadwell с «частичной» поддержкой VP9.

Эта проблема, как и многие проблемы производительности Chrome проявилась в Mac. Разработчики Chrome закрыли «баг» с комментарием: «Высокая загрузка процессора при просмотре видео VP9 это не ошибка».

Вернемся.

Проблема получилась двусторонняя: производители не спешат реализовывать аппаратную поддержку VP8/VP9 до тех пор, пока не поймут, что это действительно нужно и используется, а  Chrome просто по умолчанию использует эти кодеки, но нагружая при этом CPU. Использование VP8/VP9  сокращает время загрузки видео, но вместе с этим нагружает CPU и как следствие, время автономной работы мобильных устройств сокращается.

Что делать? Конечно можно перейти на использование Safari, MS Edge или IE (упаси Г…), но и для Chrome есть решение — использовать расширение h264ify. Это расширение запрещает Chrome использовать VP8/VP9 и заставляет использовать H.264.

Как понять, что расширение работает. Очень просто. Запускаем ролик HD и желательно с 60fps, кликаем правой кнопкой мыши на ролике и выбираем «Статистика для сисадминов».

youtube-hd-60fps-4

Если параметр Mime Type имеет значение «video/webm; codecs=»vp9», то используется «прожорливый» кодек.

Но после установки расширение картина должна измениться:

youtube-hd-60fps-5

И теперь параметр Mime Type имеет значение «video/mp4; codecs=»…», что означает использование аппаратного декодирования.

Что в итоге: VP9 задумка хорошая, но неспешность производителей железа реализовывать поддержку этого кодека приводит к тому, что пользователи расплачиваются излишним использованием процессора и сокращением автономной работы. Видимо, пока что лучше использовать H.264.

 

  • Dimmone

    Спасибо, очень помогли! Не понимаю, почему эту проблему не решили в гугле, тк это стоп фактор пользования хромом — кулеры на максимум и жор батареи..

    • Google за продвижение VP9, и его «неотключение», как я понимаю, это попытка заставить производителей чипов реализовывать поддержку кодека на железном уровне

      • Николай

        Артем,вы меня просто спасли.Я перерыл уже все возможные способы,дабы избавиться от подтормаживания,наткнулся на вашу статью и вуаля,видео летает.Спасибо большое!!! Ох уж этот HTML5!

        • Рад, что заметка оказалась полезной

          • Adventurer

            то чувство когда видео в 720р грузит процессор на 40%

          • с установленным расширением? о_О

          • Adventurer

            без него, с ним всё заебись. Просто дожили что без него такая херня творится