Многопроцессный Firefox: тестирование продолжается

Примерно четыре месяца назад Mozilla начала первые испытания многопроцессной архитектуры. В версии Firefox 48 её включили по умолчанию у небольшой части пользователей, а потом тестовую выборку увеличили в полтора раза. Как сообщает Mozilla в официальном блоге, в число испытателей попали почти все пользователи Firefox без установленных расширений.

Результаты эксперимента оказались очень неплохие. Время отклика браузера уменьшилось на 400%, а улучшения в скорости при загрузке страниц составили 700%.

Осталось не так уж много времени до окончания тестирования, когда многопроцессность станет стандартной встроенной функцией Firefox, так что «Огненный лис» догонит (или обгонит) по стабильности, безопасности и скорости работы Chrome, Edge, Safari и Internet Explorer, которые уже давно используют многопроцессную архитектуру.

Многопроцессность означает, что Firefox способен распределять задачи между несколькими процессами. На практике в браузере это означает изоляцию движка рендеринга от пользовательского интерфейса браузера. Таким образом проблема с рендерингом веб-страницы не приводит к зависанию всего браузера, что увеличивает общую стабильность работы. Если для каждой вкладки запущен отдельный изолированный процесс рендеринга, то проблема с зависанием будет ограничена и вовсе одной лишь вкладкой. К тому же изоляция рендеринга в отдельной песочнице повышает безопасность работы: труднее использовать эксплойты для уязвимостей в движке рендеринга.

Chrome и другие используют многопроцессность уже много лет. В Chrome она и вовсе присутствует с самой первой версии, которая вышла в 2008 году. Это был в каком-то смысле технологический прорыв. Интересно отметить, что для создания той самой первой версии Chrome компания Google пригласила в штат нескольких разработчиков Firefox, и те не подвели.

А вот у самой Mozilla дело чуть заглохло. Разработка многопроцессной архитектуры под кодовым названием Electrolysis (e10s) началась в 2009 году, но между 2011 и 2013 годами она была остановлена «из-за смены приоритетов».

Сразу после перехода на новую систему расширений в 2015 году работа над многопроцессной архитектурой возобновилась. На новой системе были реализованы программные интерфейсы WebExtensions, во многом совместимые с расширениями Chrome и Opera.

В августе 2016 года Electrolysis наконец-то дорос до тестирования в продакшне. Тогда вышла версия Firefox 48, где многопроцессность активировали для ограниченного числа пользователей с браузерами без расширений.

Чтобы включить многопроцессность, следует зайти в about:config и установить логический параметр browser.tabs.remote.autostart в значение true. Если многопроцессность не включилась, то следует создать новый логический параметр browser.tabs.remote.force-enable и присвоить ему значение true. Результат операций будет показан на вкладке about:support в разделе «Многопроцессные окна».

Дальнейшее тестирование


Начиная с версии Firefox 49 многопроцессность начали тестировать на браузерах с ограниченным набором проверенных дополнений. Результаты обнадёжили, поэтому с выходом Firefox 50 тестовую аудиторию ещё больше расширили, включив в неё браузеры с большим набором дополнений, для которых их авторы сделали специальную пометку о поддержке многопроцессности. Список поддерживаемых расширений обновляется на сайте Are we e10s yet?.

С помощью отдельного дополнения Add-on Compatibility Reporter можно проверять, совместимы ли ваши дополнения с режимом многопроцессности Firefox.

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

Дальше Mozilla будет дорабатывать саму архитектуру. Кроме отделения движка рендеринга в отдельный процесс, следует реализовать поддержку нескольких контент-процессов. В этом случае прибавка производительности будет максимально возможной, а риски стабильности браузера от зависаний отдельных вкладок сведутся к минимуму.

Сначала второй контент-процесс реализовали на ветке Nightly. Сейчас разработчики проверяют на нём, сколько отдельных процессов способен выдерживать Electrolysis, и вылавливают баги.

Вторая большая задача — реализовать песочницу безопасности с дочерними процессами, которые ограничены в правах. В версии Firefox 50 песочницу впервые реализовали в релизе под Windows. Это пока первая экспериментальная версия, не защищённая должны образом, предупреждают разработчики. В следующих версиях Firefox песочницу добавят в версии Mac и Linux.

Пусть и с опозданием на несколько лет, но Firefox наконец-то внедряет многопроцессность. И эта отличная новость для всех пользователей этого замечательного браузера. Лучше поздно, чем никогда. Да и лучше сделать всё как надо, а не спешить. Первые тесты показали, что Electrolysis обеспечивает заметную прибавку в производительности, стабильности и безопасности.

Нравится7
Комментарии (25)
  • 3
    У меня не шо не поменялось.
  • 0
    Лич Мендоса
    у меня 2 процессора 8и лет. Внимание вопрос: на сколько процентов ничего не улучшится?
  • 4
    Благодарю. Тест ДО и ПОСЛЕ включения.



  • 3
    Ruv1k
    Жаль что эти цифры не влияют ну не как на работу браузера для норм пользователя. Так же как и html5тест.
  • 3
    Ruv1k написал:
    ДО и ПОСЛЕ включения

    У меня после включения этой шняги лиса тормозить стала, зато в диспетчере задач стало 2 процесса и ОЗУ "жрёт" в 1,5 - 2 раза больше. А вместо одной новой вкладки открывает по 2 одинаковых. Пришлось "откатывать" настройки.
    Лич Мендоса написал:
    цифры не влияют ну не как на работу браузера

    Цифры пофиг, а браузер стал работать хуже - выше всё описал.
  • 3
    Года с 2006го сидел на фоксе, но в итоге перелез на хром. Наворотили они что-то в нём, неповоротливый очень стал. + синхронизация с телефоном какая-то вялая у них. Надеюсь допилят его как следует, ибо, по сути это единственный конкурент хрому. Да, кстати, девелопер версия работает заметно шустрее обычной релизной. На ней и сидел последнее время, но она достала постоянными обновами.
  • 1
    OakSorcerer
    А я наоборот, с 2006 го сидел на Хроме, но уже как три года на Яндексе.
  • 3
    Kraicher
    В 2006м не было хрома :) А яндекс и опера это тот же хром, не вижу смысла их юзать.
  • 2
    OakSorcerer
    Ну может с 2008 или 2009. Это я так, для аллегории написал 2006. Хром мне очень нравился,но потом отключили сервисы, да и часто слетали закладки, часто переустанавливал Хром. На Яндексе никаких проблем нет (отлично защищен). Правда привыкал немного после Хрома, но сейчас доволен всем. Каждому свой браузер нравится.
    И еще. Почему то, со временем, Хром трудно стал устанавливаться, хотя после удаления все везде подчищал.
  • 2
    Kraicher
    Это точно, в конце концов не зря же их столько понаделали :)
  • 1
    OakSorcerer
    Так что всех агитирую на Яндекс. ))))
  • 2
    Kraicher
    да, пока что Яндекс быстрее всех, но и косяков у него так же больше всех) для домашнего использования - самое то) для задачек посложнее, типа веб разработки и прочего - все же Лиса лучшая) И никакие хромы с этим не сравнятся, банально - никогда
  • 2
    Не знаю, может это самовнушение(а может и нет),но firefox у меня стал быстрее работать
  • 0
    fomir
    Так ясен пень, я и имел ввиду домашнее пользование. Все сервисы меня устраивают, и их достаточно много, и они удобные.
  • 2
    При просмотре роликов на ютубе 1080р и 60фпс,лиса требует куда меньше ресурсов,чем браузеры хром,яндекс,опера,edge и т.д..
  • 1
    Лич Мендоса
    И не поменяется. Нужно собственноручно активировать данную функцию.
    Вопрос в другом. Когда они сделают мозилу многопоточной. Сейчас браузер при просмотре онлайн видео и запуске онлайн игр грузит 1 ядро по полной.
  • 1
    Sidorovich12
    Как бы у меня она активированна на 53 версии но изменений 0
  • 0
    SonyK.
    SonyK. написал:
    У меня после включения этой шняги лиса тормозить стала

    Быть может потому что у тебя АТЛОН?

    SonyK. написал:
    зато в диспетчере задач стало 2 процесса и ОЗУ "жрёт" в 1,5 - 2 раза больше.

    Быть может не в два раза, а просто чуть больше памяти выделяется на конкретную вкладку + статичный объем памяти для самого браузера = стабильность? Ну лично у меня так.

    Лич Мендоса
    Лич Мендоса написал:
    Жаль что эти цифры не влияют ну не как на работу браузера для норм пользователя.

    Да, по этому у Хрома там под 8-10к набегает, и он медленный такой.
  • 0
    Ruv1k
    Говорю по факту - без этой "фичи" работает нормально. И как Атлон влияет на то, что в Лисе (помимо тормозов) стали открываться две новых одинаковых вкладки вместо одной ?
  • 0
    Вот это Edge:


    Вот это IE11:


    SonyK.
    SonyK. написал:
    И как Атлон влияет на то, что в лисе открываются две новых одинаковых вкладки вместо одной ?

    Мошт Атлон влияет на то что он тупо браузер не тащит в мультипотоке?
  • 0
    Ruv1k
    А может эту ерунду ещё не протестировали нормально ? - Хром в многопотоке "тащит" без проблем.
  • 0
    SonyK.
    Хром помойка.
    Алсо вот и сиди на хроме, че приперся?
  • 0
    Лич Мендоса
    Мало активировать эту функцию, нужно ещё активировать её принудительный запуск для всех пополнений. Иначе этот режим будет сбрасывать любое непроверенное дополнение.
    С новым режимим немного ресче стали запускаться страницы. Только плагин контейнер иногда вылетает.
  • 0
    Sidorovich12
    В ночной уже автоматически всё активированно.
  • 0
    Ruv1k
    Где я писал, что "сижу" на Хроме ? - просто пример, как другой многопоточный браузер работает на моём проце без проблем.

    Sidorovich12
    Лич Мендоса
    Пусть ещё тестируют на "ночниках" - если такие косяки будут на "стабилке", придётся оставаться на версии без многопотока, либо выключать его в настройках.
B
i
u
Спойлер