29.09.2020

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


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

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

В сборках Firefox на базе Wayland удалось подготовить унифицированное рабочее GL-окружение, не привязанное к конкретным композитным серверам, таким как GNOME Mutter или KDE Kwin. Поддержка ускорения с использованием бэкенда на базе DMABUF реализована для двух доступных в Firefox механизмов отрисовки — WebRender (новый, использующий GPU для отрисовки web-страниц) и GL compositor (классический). В обоих случаях текстуры создаются напрямую в GPU и передаются минуя системный композитный сервер. Память GPU может отражаться в форме фреймбуфера EGL и использоваться для отрисовки кадров WebGL сразу в память GPU и вставки на 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), если не установлен мастер-пароль, реализована начальная поддержка вывода диалога аутентификации ОС и ввода системных учётных данных перед просмотром сохранённых паролей.
  • Добавлена возможность активации интерфейса профилирования страниц без установки дополнения, через нажатие кнопки «Enable Profiler Menu Button» на сайте profiler.firefox.com. Добавлен режим анализа производительности только активной вкладки.
  • Реализован режим очистки старых Cookie и данных сайта при обращении к сайтам с кодом отслеживания перемещений, с которыми пользователь интерактивно не взаимодействовал. Режим нацелен на борьбу с отслеживание через редиректы.
  • Началась реализация модальных диалогов, привязанных к отдельным вкладкам, а не и не блокирующих весь интерфейс.

Источник: https://www.opennet.ru/opennews/art.shtml?num=52471

Добавить комментарий