В 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 и данных сайта при обращении к сайтам с кодом отслеживания перемещений, с которыми пользователь интерактивно не взаимодействовал. Режим нацелен на борьбу с отслеживанием через редиректы.
- Началась реализация модальных диалогов, привязанных к отдельным вкладкам и не блокирующих весь интерфейс.
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.