11
декабрь
2020
Настройка воспроизведения видео в FireFox для слабого ПК
10:18

Настройка воспроизведения видео в FireFox для слабого ПК

11 декабрь 2020 10:18

Для коллеги сделал домашний компьютер из списанной техники организации (материнская плата на 865 чипсете, сокет 775) и модернизировал ПК за небольшие деньги. В связи со слабой производительностью, потребовалась оптимизация настроек программы просмотра для воспроизведения видео.

Видео для проверки

https://www.youtube.com/watch?v=HcQJzFzZfVI

Предыстория

В офисном компьютере был установлен процессор Intel Celeron 2.5 ГГц и жесткий диск IDE. Оперативная память 2 Гбайт. Все веб страницы открывались долго и медленно - наблюдалась 100% загрузка компьютера при просмотре WWW. Заменил процессор на Intel Pentium 4 с сокетом 775, частотой 3.2 ГГц, с поддержкой технологии HyperThreading (цена 300 рублей - $4.1), IDE жесткий диск 80 гбайт заменил на твердотельный SSD 120 Gb (цена 1750 рублей - $23.9). После этого, просмотр веб стал выполняться терпимо - без пауз на вывод на экран контента.

Однако воспроизведение с YouTube не удовлетворяло меня. Встроенная видеокарта в ПК в Windows 7 определяется как "Стандартный VGA графический адаптер". Разъём внешней видеокарты на материнской плате GA-8I865GVMK-775 не распаян. Есть лишь свободные PCI слоты, но видеокарты для них давно не выпускаются. Следовательно, модернизация видеокарты невозможна. Далее я пытаюсь улучшить работу ПК настройками системы и интернет браузера.
компьютер

Почему я выбрал браузер Firefox?

Браузер FireFox славится возможностями тонкой настройки при помощи about:config. Поэтому за основу был взят FireFox. Использовалась последняя на данный момент версия 83.0 (32-разрядная).
Mozilla Firefox

Настройка FireFox для плавного воспроизведения видео

Перехожу к сути настройки.

  1. В системе установил глубину цвета 24 бита.
  2. В Windows установил DirectX для Windows 7 https://www.microsoft.com/ru-RU/download/details.aspx?id=34429
  3. В Windows уeстановил K-Lite Codec Pack Standard https://www.codecguide.com/download_kl.htm
  4. В конфигурации K-Lite Codec Pack (Пуск - K-Lite Codec Pack - Configuration - LAV Video) в разделе "Hardware Acceleration" выбрал пункт DXVA2 (native) и сохранил изменения (OK). Количество потоков выбрал 2 (равняется максимальному числу потоков, которые поддерживает данный процессор).
    настройка k-lite codec pack
  5. Запустил браузер FireFox. В меню Настройки - Производительность - "По возможности использовать аппаратное ускорение".
    производительность
  6. Затем выполнил настройки браузера FireFox (одинаковые для Windows и Linux). Вошёл в настройки about:config
  7. Изменил следующие параметры:
    • layers.acceleration.force-enabled = true
    • layers.force-active = true
      config3
      Данные два параметра включают Аппаратное ускорение в веб браузере FireFox.

      Примечание: на некоторых ПК лучше оставить значение по умолчанию: layers.acceleration.force-enabled=false, если при нём нагрузка процессора ниже.

Аппаратное ускорение 2D графики (DOM: HTML/CSS) в веб-браузере с помощью процессора внешей (GPU) или встроенной видеокарты (iGPU):

  • browser.preferences.defaultPerformanceSettings.enabled = true (по умолчанию)
  • gfx.webrender.all = true (вместо false)
  • gfx.webrender.software = false (по умолчанию, отключение программного декодирования)
  • layers.gpu-process.enabled = false (по умолчанию, отвечает за создание отдельного процесса)
  • layers.gpu-process.force-enabled = false (по умолчанию, отвечает за создание отдельного процесса)
  • dom.webgpu.enabled = true

Аппаратное ускорение декодирования видео с помощью процессора видеокарты (GPU):

  • gfx.x11-egl.force-enabled = true
  • media.hardware-video-decoding.enabled = true (по умолчанию)
    config4
  • media.hardware-video-decoding.force-enabled = true
    config5
  • media.rdd-ffmpeg.enabled = true (по умолчанию)
  • widget.dmabuf.force-enabled = true
  • media.gpu-process-decoder = false (по умолчанию)

Источник: firefox_gpu_acceleration.shtml).

Проверка:
Перезапустить браузер FireFox и войти в
about:support

Просмотреть значения параметров

  • HW_COMPOSITING
  • WEBRENDER
  • HARDWARE_VIDEO_DECODING

Сравнение "до" и "после"

Загрузка процессора уменьшилась с 100% до 20%. Выпадение кадров стало заметно меньше.
видео
Видео RuTube на процессора AMC C-30 идёт с небольшими рывками в разрешении 360p.

Замечание про форматы h.264, VP9 и WEBM

Если при воспроизведении видео на YouTube, особенно в разрешении FullHD, наблюдается пониженная частота кадров, возможная причина - отсутствие аппаратного декодирования видеокартой кодека VP9 (используется YouTube по умолчанию c 2014 года). Прежний способ с дополнением h264ify для выбора видео h.264 не работает.
Затем Google перешла для трансляции видео в HTML5 на более современный формат WebM, который является контейнером для кодеков VP8, VP9, AV1. Переход на AV1 повысил требования к процессору.

У хостинга RuTube более низкие требования к мощности ПК для декодирования. Видеокодек RuTube - H264 (MainConcept). При наличии ускорителя только для h.264 и после включения аппаратного ускорения в FireFox работает воспроизведение видео 360p в полный экран на процессоре 2011 года AMD C-30 (1 ядро, 1 поток) с встроенным графическим ускорителем AMD Radeon HD 6250. Как правило, кодек h.264 умеют проигрывать даже старые видеокарты 10-15-летней давности.

Дополнение от ноября 2025

Перед запуском FireFox или с помощью скрипта загрузки профиля (.bashrc)
рекомендуется установить переменную окружения

nano ~/.bashrc 

И добавьте в конец файла, для X11:

Для X11:

export MOZ_DISABLE_RDD_SANDBOX=1
export MOZ_X11_EGL=1

Для Wayland:

MOZ_DISABLE_RDD_SANDBOX=1
MOZ_ENABLE_WAYLAND=1

Для nVidia:

LIBVA_DRIVER_NAME=nvidia

Для Radeon:

LIBVA_DRIVER_NAME=radeonsi

Для ускорителей графики Intel (пакет intel-media-va-driver для ускорения VAAPI для процессоров Intel поколения 9 и выше, например Gen11 Rocket Lake, Alder Lake, Raptor Lake, Tiger Lake):

LIBVA_DRIVER_NAME=iHD

Для старых чипсетов встроенной графики (видеочипы Intel HD и UHD Graphics для процессоров Intel поколений до 8-го включительно: Sandy Bridge, Ivy Bridge, Haswell, Broadwell, Skylake, Kaby Lake, мобильные Coffee Lake, Cannon Lake):

LIBVA_DRIVER_NAME=i965

Ctrl+O, Enter, Ctrl+X

Проверка. Выйдите из сессии и войдите снова.

printenv | grep -E "MOZ|LIBVA"

eglinfo -B | grep -C2 'EGL vendor string:'

Если драйвер установлен правильно, и включен nvidia-drm.modeset=1, должно быть так:
GBM platform:
EGL API version: 1.5
EGL vendor string: Mesa Project
EGL version string: 1.5
EGL client APIs: OpenGL OpenGL_ES

X11 platform:
EGL API version: 1.4
EGL vendor string: NVIDIA
EGL version string: 1.4
EGL client APIs:

Device platform:
EGL API version: 1.4
EGL vendor string: NVIDIA
EGL version string: 1.4
EGL client APIs:

Рекомендация по выбору процессора и видеокарты

Сравнение нескольких конфигураций ПК показало, что для программного воспроизведения видео YouTube требуется поддержка инструкций SSE4 и производительности Single Core (на одно ядро) не менее 2000 в тесте GeekBench 3. Например, хорошо подходят процессоры AMD Athlon 240GE, AMD Athlon 3000G, к тому же имеющие встроенное графическое ядро.

При этом, "игровая" видеокарта, предназначенная для 3D, не может справится с воспроизведением FullHD по трём причинам:

  1. значительная часть декодирования видео выполняется на ядрах центрального процессора. См. сравнение http://cpuboss.com/cpus/Intel-Pentium-G840-vs-AMD-Phenom-II-X3-710 - на моём опыте процессор Pentium G840 с видеокартой nVidia 430 при загрузке в 30% справляется с видео 1920x1080, тогда как AMD Phenom-II-X3-710 без внешнего видео ускорителя нет.
  2. от процессора требуется поддержка инструкций для ускорения обработки мультимедиа - SSE4, SSE4.1 и SSE4.2.
    Подойдут процессоры:
    • Intel с поколения "Nahalem" - Core i3-530 и выше - с 2012 года, "Sandy Bridge" Pentium G620T...G870, Core i3 2100 и выше.
    • AMD FX-4100...FX-8100 ("Bulldozer")
    • AMD FX-4300...FX-9590 ("Piledriver")
    • A4-4000...A10-6800K ("Piledriver")
    • Athlon X4 - любые ("Piledriver")
    • Ryzen - любые (архитектуры "Zen", "Zen+", "Zen2" и т.д.).
  3. для RuTube от видеокарты требуется поддержка аппаратного декодирования видео H.264 / MP4 / AVC - такие видеоускорители, как nVidia Pure Video (4 поколения и выше) или AMD Avivo. Подойдут видеокарты начиная с nVidia GeForce GT 240, GeForce GT 220 и GeForce 210/G210 (архитектуры "Tesla 2.0"), GT 520 / GT 610 и GT 530 / GT 620, GT 440 / GT 630 (архитектуры "Fermi") и nVidia GeForce серий 600 / 700 (архитектуры "Kepler"), или видеокарты AMD с поддержкой UVD начиная с некоторых моделей серии HD 2000 - AMD Radeon HD 2400, HD 2600 и HD 2900 XT, последующих серий AMD Radeon **HD 3000 - HD 8000* и выше, кодовые названия Radeon RX 200 - RX 800 и более новые, Radeon RX Vega, Radeon RX 5000/6000 и более свежие. Видеокарты среднего уровня nVidia GTX 750 / GTX 750Ti** и более новые также могут помочь слабому процессору воспроизвести видео FullHD (2K).
  4. Для RuTube, если используется встроенная в процессор (iGPU) видеокарта, к ней предъявляются такие же требования, как к внешней. Подойдут Intel GMA X4500 и выше, Intel HD Graphics "Ironlake" поколения выше или равное 5.75 (то есть новее 2010 года), Intel HD 2000 (встроен в поколение процессоров Intel "Sandy Bridge") и AMD Radeon RX Vega 3 (видеокарты, встроенные в ядра Athlon 240GE, AMD Athlon 3000G и AMD Ryzen 3 3200G - 2019 г. и новее).
  5. Для YouTube - желательна поддержка аппаратного декодирования кодека VP9. Видеокарты NVIDIA GeForce GTX 1050 Ti, NVIDIA GeForce GTX 1650, AMD Radeon RX 470. Процессоры: Intel Kaby Lake (Intel Core i3/i4/i7 7-го поколения, например Core i7-7700).
  6. Для YouTube и видео 1080p60 и 4K/8K/HDR в формате AV1 (в конейнере WebM) нужны современные видеокарты NVIDIA RTX 4070 Ti, AMD RX 7600 и выше. Декодирование AV1 при помощи процессоров: 11-е поколение Intel Core ("Tiger Lake" и "Rocket Lake"), например, Intel Core i5 11400H, Core i5 11600K; AMD - видеокарты и процессоры с поддержкой архитектуры RDNA2 и RDNA3, такие как Radeon RX 6000 Series, Radeon RX 7000 Series, процессоры AMD Ryzen 4000 (Vermeer), например AMD 4300GE, 4300G, 4600G, 4700G, 4350G, 4650G, AMD Athlon Gold PRO 3125GE, 3150GE; ноутбучный процессор Ryzen 7840HS, мобильные игровые видеокарты Radeon 890M and 880M.
  7. Драйверы чипсета и Драйвер видеокарты должны поддерживать аппаратное ускорение видео. Например, в Linux Debian потребуется установить специальные пакеты (подробнее про VA-драйвер и VPAU-драйверы в Debian).

Источники:


Примечание:

  • В заголовке статьи использовано видео See You Again - Wiz Khalifa feat. Charlie Puth (Boyce Avenue feat. Bea Miller).
    Все права соблюдены.

Последнее изменение: 20.11.2025



Похожие публикации