В Firefox для Wayland обеспечено аппаратное ускорение WebGL и видео

4 марта 2020 года

В ночных сборках Firefox, на основе которых 7 апреля будет сформирован релиз Firefox 75, реализована полноценная поддержка WebGL в окружениях, использующих протокол Wayland. До сих пор уровень производительности WebGL в Linux-сборках Firefox оставлял желать лучшего из-за отсутствия поддержки аппаратного ускорения, вследствие проблем с gfx-драйверами для X11 и применения разных стандартов. Ускорение на базе gfx в X11 было обеспечено в Chrome, но ценой поддержания огромного списка исключений и обходных манёвров для избежания проблем (см. chrome://gpu/). В Firefox аппаратное ускорение WebGL для Linux никогда не было включено по умолчанию, так как компания Mozilla не имела ресурсов для разбора каждого проблемного драйвера и видеокарты.

При использовании Wayland ситуация изменилась благодаря появлению нового бэкенда, использующего механизм DMABUF (Архивная копия от 12 ноября 2020 на Wayback Machine) для отрисовки в текстуры и организации совместного использования разными процессами буферов с этими текстурами, размещёнными в видеопамяти. Изначально новый бэкенд развивался с оглядкой на предоставление качественной поддержки gfx-ускорения. Кроме аппаратного ускорения WebGL бэкенд также дал возможность реализовать поддержку ускорения декодирования видео H.264 с использованием VA-API (Video Acceleration API) и FFmpegDataDecoder (дополнение: следом появилась и поддержка ускорения для VP9 и других форматов кодирования видео, которая будет включена в Firefox 76).

В сборках Firefox на базе Wayland удалось подготовить унифицированное рабочее GL-окружение, не привязанное к конкретным композитным серверам, таким как GNOME Mutter или KDE Kwin. Поддержка ускорения с использованием бэкенда на базе DMABUF реализована для двух доступных в Firefox механизмов отрисовки - WebRender (новый, использующий GPU для отрисовки web-страниц) и GL compositor (классический). В обоих случаях при использовании нового бэкенда текстуры создаются в GPU и могут использоваться напрямую без копирования между процессами браузера, отвечающими за композитинг и взаимодействие с GPU. Кадры WebGL могут отрисовываться сразу в память GPU, которая может отражаться во фреймбуфер EGL, обрабатываться в основном процессе и отрисовываться как текстура при сведении элементов web-страницы.

Для включения ускорения WebGL и видео следует запустить Firefox с переменной окружения "MOZ_ENABLE_WAYLAND=1" и в about:config установить параметры "widget.wayland-dmabuf-webgl.enabled" и "widget.wayland-dmabuf-vaapi.enabled", после чего проверить включилось ли ускорение на странице about:support. Для работы требуется наличие библиотеки libva версии 2.6.0+ (протестировано в Fedora 31 c GPU Intel UHD 630).

Из грядущих изменений в Firefox 75 также можно отметить:

  • Включение для пользователей из Великобритании (ранее реклама показывалась только пользователям из США) отображения оплаченных спонсорами блоков на стартовой странице в разделе рекомендованного сервисом Pocket контента (блоки явно помечены как реклама и отключаемы в настройках).
  • В менеджере паролей (about:logins), если не установлен мастер-пароль, реализована начальная поддержка вывода диалога аутентификации ОС и ввода системных учётных данных перед просмотром сохранённых паролей (отложено до Firefox 76).
  • Добавлена возможность активации интерфейса профилирования страниц без установки дополнения, через нажатие кнопки "Enable Profiler Menu Button" на сайте profiler.firefox.com. Добавлен режим анализа производительности только активной вкладки.
  • Реализован режим очистки старых Cookie и данных сайта при обращении к сайтам с кодом отслеживания перемещений, с которыми пользователь интерактивно не взаимодействовал. Режим нацелен на борьбу с отслеживанием через редиректы.
  • Началась реализация модальных диалогов, привязанных к отдельным вкладкам и не блокирующих весь интерфейс.

Источники

править
 
 
Creative Commons
Эта статья содержит материалы из статьи «В Firefox для Wayland обеспечено аппаратное ускорение WebGL и видео», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.