План поддержки Wayland в Firefox

Мартин Странски, сопровождающий пакета Firefox для Fedora и RHEL, который отвечает за перенос Firefox для Wayland, опубликовал отчет, в котором обобщены последние достижения Firefox в среде Wayland.

В ближайших выпусках Firefox планируется решить проблемы, замеченные в сборках для Wayland, с буфером обмена и обработкой всплывающих окон. Эти функции не могли быть реализованы сразу из-за различий в подходе к их реализации в X11 и Wayland. В первом случае трудности возникли из-за работы буфера обмена Wayland в асинхронном режиме, что потребовало создания отдельного слоя для абстрагирования доступа к буферу обмена Wayland. Указанный слой будет добавлен в Firefox 93 и включен по умолчанию в Firefox 94.

Что касается всплывающих диалогов, основная сложность заключалась в том, что Wayland требует соблюдения строгой иерархии всплывающих окон. Родительское окно может создать дочернее окно с всплывающим окном, но следующее всплывающее окно, инициированное из этого окна, должно привязываться к исходному дочернему окну, образуя цепочку. В Firefox каждое окно могло порождать несколько всплывающих окон, которые не формировали иерархию. Проблема заключалась в том, что при использовании Wayland закрытие одного из всплывающих окон требовало перестройки всей цепочки окон с другими всплывающими окнами, а наличие нескольких открытых всплывающих окон не является редкостью, поскольку всплывающие окна реализованы в виде всплывающих меню. подсказок, диалогов дополнений, запросов на разрешение и т.д. Ситуация также осложнялась недостатками в Wayland и GTK, где небольшие изменения могли привести к различным регрессиям. Однако код обработки всплывающих окон для Wayland был доработан и планируется к включению в Firefox 94.

Среди других улучшений, связанных с Wayland, упоминается добавление в Firefox 93 изменения масштабирования DPI для устранения мерцания при перемещении окна к краю экрана в конфигурациях с несколькими мониторами. В Firefox 95 планируется решить проблемы, возникающие при использовании интерфейса drag & drop, например, при копировании файлов из внешних источников в локальные файловые системы и при перемещении вкладок.

С выходом Firefox 96 порт Firefox для Wayland будет доведен до общего паритета по функциональности со сборкой X11, по крайней мере, при работе в среде GNOME Fedora. После этого внимание разработчиков будет переключено на оттачивание работы в окружениях Wayland процесса GPU, в который вынесен код для взаимодействия с графическими адаптерами и который защищает основной процесс браузера от сбоев в случае отказа драйверов. Также планируется вынести в GPU-процесс код для декодирования видео с помощью VAAPI, который в настоящее время запускается в процессах обработки контента.

Прочтите:  Планируется обновление Zstd для Linux 5.16 с улучшенной производительностью

Дополнительно можно отметить включение для небольшого процента пользователей стабильных веток Firefox режима строгой изоляции сайтов, разработанного в рамках проекта Fission. В отличие от произвольного распределения обработки вкладок по доступному пулу процессов для обработки контента (8 по умолчанию), который использовался до сих пор, режим изоляции строк выносит обработку каждого сайта в свой отдельный процесс с разделением не по вкладкам, а по доменам ( Public Suffix ), что позволяет дополнительно изолировать контент от внешних скриптов и iframe’ов. Активация режима деления контролируется через переменную “fission.autostart = true” в about: config или на странице about: preferences # experimental.

Режим сильной изоляции защищает от атак по побочным каналам, например, связанных с уязвимостями класса Specter, а также уменьшает фрагментацию памяти, более эффективно возвращает память операционной системе, минимизирует влияние сборки мусора и вычислений, интенсивных для страниц в других процессах, и повышает эффективность балансировки нагрузки, различных ядер процессора и повышает стабильность (крах процесса, обрабатывающего iframe, не потянет за собой основной сайт и другие вкладки).

Среди известных проблем, возникающих при использовании блокировки, отмечается заметное увеличение потребления памяти, соединения X11 и файлов deskriptrov при открытии большого количества вкладок, а также нарушение работы некоторых дополнений, потеря содержимого iframe при печати и вызове функции записи скриншотов, снижение эффективности кэширования документов с iframe, потеря содержимого заполненных, но не отправленных форм при восстановлении сессии после падения.

Другие изменения в Firefox включают завершение перехода на систему локализации Fluent, улучшение режима высокой контрастности, добавление возможности в about: processes записывать профили производительности процессов в один клик и удаление настройки для возврата к макету страницы новой вкладки в стиле до версии Firefox 89. …

Оцените?
+1
0
+1
1
+1
0
+1
0
+1
0
+1
0
+1
0
Поделитесь с друзьями
Admin
Admin

Люблю Linux

Статей: 474
Подписаться
Уведомить о
guest
1 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии