Вышел Firefox 54, который наконец получил поддержку многопроцессного режима (не для ленты!!!)

На модерации Отложенный

Команда разработчиков Firefox выпустила новую версию браузера с номером 54. Главной особенностьюобновленного Firefox является поддержка многопроцессного режима обработки веб-страниц, работа над которым велась восемь лет под кодовым названием Electrolysis (E10S). Представители Mozilla называют новую версию браузера «лучшим Firefox».

/ фото Dees Chinniah CC

Первая версия мультипроцессного Firefox была представлена в августе прошлого года (версия 48). В ней работа с UI была вынесена в отдельный процесс, что делало интерфейс отзывчивым даже при высоких нагрузках на систему. В версии Firefox 54 разработчики пошли еще дальше, организовав работу в нескольких параллельных процессах: каждый со своими ресурсами RAM и CPU, управляемыми операционной системой. 

Недостатком при таком подходе обычно остается высокое потребление памяти. Например, Google Chrome по умолчанию создает новый процесс для каждой вкладки и потребляет множество ресурсов. Однако, по словам главы маркетинга Firefox Райана Поллока (Ryan Pollock), в отличие от того же Chrome, Firefox не будет забирать себе всю оперативную память и замедлять работу компьютера пользователя.

В Mozilla отмечают, чтобы избежать излишнего потребления памяти, по умолчанию запускаются только четыре контент-процесса. Вероятно, число четыре — это золотая середина между потреблением памяти и преимуществами многопроцессорных систем. Однако количество процессов можно настроить, перейдя на вкладку about:config и изменив значение dom.ipc.processCount. 
 

Сравнение потребления памяти браузеров (Источник)

Пользователи отмечают, что Firefox 54 действительно работает быстрее, по сравнению с предыдущими версиями, и потребляет меньше ресурсов, чем Chrome. Однако если у вас установлены аддоны, которые не поддерживают многопоточную работу, вы не сможете воспользоваться новыми возможностями браузера. Подробную информацию о многопоточной работе Firefox вы найдете в посте Райана Поллока по ссылке.

В дополнение к многопроцессорной работе, Firefox 54 также получил несколько новых WebExtension API, для разработки дополнений, совместимых с другими браузерами.

В релизе значатся API для создания боковых панелей, позволяющие размещать локальные HTML-файлы внутри панели. Также была добавлена возможность подключения собственного обработчика протоколов и возможность настройки about:newtab. Помимо этого, был внедрен Privacy API для управления настройками безопасности и приватности (networkPredictionEnabled, webRTCIPHandlingPolicy и hyperlinkAuditingEnabled).

В новом браузере была активирована sandbox-изоляция, ограничивающая доступ подпроцессов Firefox к файловой системе и другим процессам. В Linux изоляция системных вызовов реализована с применением Seccomp-bpf, а также User namespace и chroot. В Windows же применяются библиотеки sandboxbroker и sandboxtarget, разработанные и используемые компанией Google. Еще среди изменений, внедренных в Firefox 54, числится возможность создания и сохранения собственных устройств в Responsive Design Mode для тестирования сайтов (можно задать разрешение экрана, пропускную способность сети и др.). 

Также, кроме новшеств и исправления ошибок, в Firefox 54 устранена серия уязвимостей, часть которых была помечена как критические — они могли привести к выполнению кода злоумышленника при открытии фишинговых страниц. 

И наконец, с выходом Firefox 54, Mozilla завершает процессы по закрытию канала с Aurora-версиями браузера. Теперь организация намерена использовать принцип поэтапной доставки обновлений для Release-канала, где новые функции, такие как Electrolysis, постепенно добавляются в браузеры небольшого числа пользователей. Если нововведение вызывает всплески отказов, или телеметрические данные указывают на возникающие сложности, Mozilla останавливает развертку обновления и дорабатывает решение.

Таким образом, процесс доставки продукта будет состоять из трех этапов: Nightly, Beta, Stable. Отказываясь от канала Aurora, разработчики надеются ускорить процесс выхода стабильных версий браузера на несколько месяцев. 

Полный список изменений нового релиза вы можете найти на сайте разработчиков по ссылке.