Примерно четыре месяца назад 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 обеспечивает заметную прибавку в производительности, стабильности и безопасности.
Поделиться с друзьями
-->

Комментарии (102)


  1. Barafu
    22.12.2016 18:17
    +3

    Пока у них там продолжается, меня довело постоянное подтормаживание лиса при скролле страниц и регулярные падения, и я опять перешёл на Хром.
    И далеко не только я говорю про тормозящий скролл. Если Мозилла не прекратит пилить фигню и не починит базовый UX, скоро они будут плакаться на то, как могущественная корпорация применила нечестную конкуренцию, чтобы вытеснить их с рынка.


    1. DistortNeo
      22.12.2016 18:30
      +3

      Возможно, это связано с особенностями работы таймера. Почитать можно тут, например.

      Лично у меня тормоза при скролле полностью пропадают, как только я запускаю любое приложение, «разгоняющее» таймер.


      1. CoolCmd
        22.12.2016 21:50

        можно заставить лису разгонять таймер: https://greasyfork.org/en/scripts/3508-fix-firefox-smooth-scrolling
        странно что эта проблема до сих пор у кого-то есть. в этом году в лисе таки починили синхронную прокрутку, по крайней мере в винде. в многопроцессорной лисе должна заработать асинхронная прокрутка, которая в теории еще больше улучшает плавность: https://hacks.mozilla.org/2016/02/smoother-scrolling-in-firefox-46-with-apz/


    1. upsilon
      22.12.2016 20:38
      +2

      А я буквально на днях ушел с мобильной версии лисы. По первым наблюдениям Хром намного лучше работает.


      1. dom1n1k
        22.12.2016 22:58
        +1

        Разрываюсь между ними. FF намного удобнее интерфейсом и расширения есть нужные, но… тормозит. Прямо очень тормозит — одни и те же сайты Хром грузит (на глаз) в 2-3 раза быстрее. Речь про Андроид.


        1. Stanislavvv
          23.12.2016 09:37
          +2

          Ладно сайты… Там интерфейс тормозит по сравнению с хромом.
          Ткнул в кнопку на сайте — запрос по сети пошел спустя полсекунды…


      1. sleeply4cat
        23.12.2016 12:01
        +2

        А у меня опера обновилась, подумываю обратно на лису вернуться. Вырезали половину настроек интерфейса и перенесли кнопку обновления в левый верхний угол. Печально всё это.


        1. Grox
          24.12.2016 01:40

          Может на Vivaldi?


          1. sleeply4cat
            24.12.2016 03:15
            +1

            Я как-то немного выпал из контекста ветки :)
            Имел в виду мобильную оперу. Vivaldi в маркете вроде как нет.


      1. seraz
        23.12.2016 17:05

        tugabrowser на мобиле. на базе хрома с плюшками. вкусными.


      1. Keyten
        24.12.2016 16:46
        +1

        А у меня прямо наоборот: пару дней назад ушёл с мобильной версии хрома.

        Около месяца назад у него случился приступ амнезии, и однажды открыв браузер, я не увидел открытой там до того сотни вкладок (зачем так делать — совсем другой вопрос). Потеря не очень страшная, но неприятная. В истории, конечно же, тоже ничего.

        С тех пор открытые вкладки пропадали трижды или четырежды. Пару дней назад это случилось вновь, и я решил уйти.


    1. HOCOB2
      22.12.2016 21:11
      +1

      Существует весьма перспективная ветка развития firefox под названием PaleMoon .
      Palemoon ведет стабильно даже на 3-х тысячах вкладок на древнем железе.


      1. RedVelvet
        22.12.2016 21:55
        +2

        Ну во первых, в бледной луне форк gecko, синхронизируют с ESR лисы а значит фичи редко попадают, во вторых интерфейс из 200х, в третьих — не все расширения поддерживает.


        1. dom1n1k
          22.12.2016 23:00
          +4

          Хм, надо будет посмотреть. «Интерфейс из 200х» — это безусловный комплимент программе!


      1. 23rd
        24.12.2016 20:40

        Увы, отсталый движок, из-за чего более-менее сложные и современные сайты открыть корректно нельзя, как следствие остаётся лишь иметь 3 тысячи вкладок со статичным текстом и картинками.


    1. dvsx86
      22.12.2016 21:50

      тот же случай — буквально месяц назад перешел с FF на Chrome. хотя был yна лисе последние лет наверно 10…


      1. Mad__Max
        23.12.2016 05:14

        Можно где-то на 47 версию откатиться. Может это и совпадение случайное, но как раз как начали пилить эту многопроцессорнсоть лиса стала резко жиреть (есть память, низким расходом которой славилась до этого) и тормознее работать.
        Я на одной из машин где автообновления отключены сел и удивился — старая лиса заметно быстрее работает, чем самая последняя (50я) версия.

        Уголок заговорщика: похоже они сейчас специально добавляют тормозов, чтобы после запуска мгопроцесоорности убрав искусственные замедлители все сказали вау! в 5 раз быстрее работать стало! хотя относительно 46-47 версии это будет лишь немногим быстрее.
        В общем в как в притче. Заведи козу… А теперь выгони козу.


        1. leshakk
          23.12.2016 14:45

          Тоже сижу на 47-й версии. Основная причина: в последующих версиях убрали возможность отключить запрет на использование неподписанных расширений.


          1. 9uvwyuwo6pqt
            23.12.2016 17:08
            +1

            Есть unbranded builds где эта проверка отключается. Пишут что еще в developer и nightly должно работать. https://wiki.mozilla.org/Add-ons/Extension_Signing#Unbranded_Builds
            Решение в FAQ на Mozilla Russia. https://forum.mozilla-russia.org/viewtopic.php?id=70326


            1. leshakk
              23.12.2016 18:42
              +1

              Спасибо, буду иметь ввиду, если всё-таки придётся уходить с 47-й версии. Вообще-то это уже свинство, когда за пользователя начинают решать, что ему можно, а что нет. Это нормально для микрософт, но никак не для свободного софта.


      1. tazepam
        23.12.2016 16:12
        +1

        Много раз пытался перейти на Chrome и каждый раз возвращался. Последний раз всё было почти хорошо, но одни и те же блокировщики рекламы на Chrome и Firefox работают по разному: перейдя на Chrome я впервые в жизни увидел рекламу в Вконтакте и побороть её не смог. Справедливо для AdBlock и Ublock. Проверено на всех домашних устройствах. Может быть кто-нибудь в курсе, от чего такая странность?


        1. 9uvwyuwo6pqt
          23.12.2016 17:20

          Попробуйте ublock orign / adblock plus testing, и еще есть: https://forums.lanik.us/viewtopic.php?f=102&t=22512 Это странно, насколько знаю ВКонтакте в белом списке.


    1. sortarage
      23.12.2016 10:50

      Пользовался Лисой в этом году почти 4 месяца, очень хотелось перейти с Хрома, когда одни и те же видео у меня выдавали в Хроме 45% ЦПУ, а в Лисе 12%. Поставил клевые темы, волшебный интерфейс, все ок. А потом пошли подтормаживания при скроле, подвисоны при открытии 20+ вкладок, и ОЧЕНЬ медленная работа в любых CMS (тестировал на Wordpress), особенно тяжелых, особенно если подразумевается визуальный редактор. И все, пришлось возвращаться на Хром. А жаль.


  1. DistortNeo
    22.12.2016 18:27
    +3

    Интересно, как это отразится на потреблении памяти?


    1. PastorGL
      22.12.2016 18:34
      +2

      Самым очевидным образом. В среднем отъедает дополнительно по ~100МБ на каждый отдельный процесс рендера, если открывать что-то тяжёлое типа Slack или Youtube.


      1. Mad__Max
        23.12.2016 05:21
        +3

        Только в лисе это несколько по другому сделано — не как в хроме по процессу на каждый чих (включая каждую вкладку), а так:
        1 — основной процесс и гуи
        2 — процесс для плагинов
        3 — один или несколько (от одного до количества процессоров/потоков CPU по информации от ОС) процессов рендеринга страниц
        В результате при скажем 20 открытых вкладках будет не под 30 процессов как у хрома, а 4-6.


        1. Dolbe
          23.12.2016 15:04

          Где-то я видел информацию о том что и в Хроме можно ограничить количество процессов.


          1. 9uvwyuwo6pqt
            23.12.2016 17:26

            --single-process, вроде убрали уже.


    1. Denai
      22.12.2016 20:08
      +1

      Кушает её гораздо больше, даже если многопроцессность не включена. Во всяком случае х64 версия. Когда добирается до 2ГБ+ на процесс — начинает люто тупить


      1. HerrDonUlt
        23.12.2016 08:33

        ~430 мб для 10 вкладок это норма, или передание?


        1. Denai
          23.12.2016 09:13
          +1

          От вкладок зависит. У меня до того самого обновления в среднем было накушано ~1ГБ оперативки, теперь же 4 процесса по 600-1500МБ и стартовых 600 они набирают довольно быстро. Если же многопроцессность отключить, то всё уходит в один. При общих 16ГБ мне не критично, однако такое и не заметить сложно


        1. Mad__Max
          23.12.2016 23:22

          Для последних версий лисы? Тогда к сожалению норма, даже можно сказать хорошо.
          Сейчас первые 400-600 Мб съедает очень быстро буквально после первых 3-4 открытых страничек. Правда потом жор памяти резко замедляется и чтобы за 1000 Мб выйти нужно уже сильно и долго нагружать.

          В хроме впрочем 1000 Мб на 10 вкладок(13-15 запущенных процессов) вообще всегда нормой было. Даже ближе к минимуму — если странички только относительно легкие в этих 10 вкладках.

          На очень большом кол-ве страниц/вкладок лиса все-равно намного меньше памяти использует чем хром, но вот при небольшом кол-ве вкладок уже его практически догнала по жору (и при этом работает медленнее). Так что если раньше выбор для слабых машин был однозначно в пользу FF, а хром показывал себя хорошо только когда море оперативки и много ядер у процессора, то сейчас и на слабом железе может оказаться лучше.
          И не потому что он быстрее/экономнее стал, а потому что лису разработчики чем-то испортили.


      1. DrZlodberg
        23.12.2016 09:19

        Там, похоже, иногда что-то глючит и она начинает просто жрать всю доступную память.
        Сам часто такое наблюдаю при работе с webGL. Если некоторое время полазить по shadertoy — внезапно начинает жрать по мегабайты в секунду и виснет, когда оперативка заканчивается. На youtube под linux аналогичная хрень. Причём там ещё каким-то образом тянет за собой всю систему.


  1. toteKopf
    22.12.2016 18:36

    Увеличение скорости работы приводится относительно той же лисы, а где можно посмотреть сравнение с хромом? быть может существуют какие-то тесты? Дело в том, что когда-то давно, когда процессоры были одноядерные очень любил лису, но с появлением многоядерности из-за безвыходности(тормоза доконали) был вынужден мигрировать на хром. Если лису допилят до скоростей и потребления хрома — мигрирую обратно, поэтому и интересует сравнение «нос к носу».


    1. MaxxONE
      22.12.2016 18:54

      тест peacekeeper, но он давно не поддерживается


  1. Alexmaru
    22.12.2016 19:04

    Да, принудительное включение этого всего действительно серьёзно изменило работу FF. Из интересного: когда страница слишком тяжёлая, кажется, используется тот же алгоритм отрисовки, что и в старых iOS — кусочек остаётся белым, и только потом всё появляется.


  1. Bal
    22.12.2016 20:00
    +3

    Отклик браузера уменьшился на 400%

    Это значит, что если раньше отклик браузера проходил через секунду после нажатия, то сейчас он происходит за 3 секунды до нажатия? Они не бояться Вселенную разрушить такими играми с причинно-следственными связями? А если браузер уже откликнется, а пользователь передумает нажимать кнопку?


    1. Am0ralist
      22.12.2016 20:09
      +6

      Но самое обидно, когда ты уже понимаешь, что открывается не то что требуется, а ничего изменить не можешь и вынужден кликать неверно!


  1. read2only
    22.12.2016 21:12

    и я опять перешёл на Хром.

    Переходите тогда уже на Vivaldi. Последние версии браузера очень даже неплохи, по части функционала отдалённо напоминает 12-ю версию Opera (которая всё ещё живёт у меня на машине). Ну а движок тот же — Blink.


    1. arthi7471
      23.12.2016 14:53

      Vivaldi вобщем то неплохая затея но в нем нет синхронизации. Запилили давеча поддержку подсветки для домашних кинотеатров а синхронизации нет. Это, наверное, единственный браузер который до сих пор не умеет то что нужнее всего и умеет то что нахер ни кому не нужно.


      1. read2only
        24.12.2016 10:44
        +3

        Сие сугубо индивидуально. Мне так синхронизация в принципе не упёрлась, ибо не пользую.


    1. Barafu
      23.12.2016 15:19

      Официальные плагины Kindle, LastPass, Pocket на него есть? Так — то можно и на IE переходить.


      1. ProVal
        23.12.2016 15:39

        На него расширения прямо из хромовского магазина ставятся. Почти все из них при этом нормально работают.


  1. Alex_Hi
    22.12.2016 21:12

    Очень крутая многопроцессность у хрома. Да, я им пользуюсь и альтернатив не вижу хороших, к сожалению. Но вот с покупкой нового компьютера у меня появилась проблема с ним. Так получилось, что не хватало денег на нормальный процессор и решил пока взять «затычку» в виде Celeron G3900(Skylake). Так вот — виснет на ютюбе просто наглухо при перемотке, а иногда и просто при просмотре. Зависает браузер целиком. Если успеть открыть диспетчер задач хрома, то можно выгрузить процесс графического адаптера, после чего еще несколько секунд видео будет воспроизведено. От качества видео, разумеется не зависит — дело почти 99.9% в кодеке, который сбоит при сведении буффирезированных отрывков. В Firefox такого не наблюдается, но он не поддерживает видео в 2К 60 FPS. А монитор то у меня 2К. :(
    В итоге решил проблему, отключив аппаратное декодирование. Теперь оно программное. Но скорость, что странно, та же.


    1. x4fab
      23.12.2016 03:08

      Возможно, поможет плагин, включающий принудительное использование h264? По умолчанию YouTube использует VP8/VP9, он частенько не ускоряется аппаратно.


      1. Alex_Hi
        23.12.2016 22:15

        Слушайте, и правда помогло, спасибо! Сбросил все настройки в «chrome://flags» и поставил этот плагин, теперь не вылетает. Очень странная проблема. И она как раз была в том, что аппаратное ускорение было включено, а я его отключал.
        Интересно только, будет ли такая проблема наблюдаться после апгрейда на какой-нибудь i7 SkyLake или KabyLake?

        З.Ы. В изначальном сообщении совсем забыл написать, что видеокарта — 1050 Ti.


    1. Mad__Max
      23.12.2016 05:42
      +1

      2к это же 2560?1440 @ 60 fps имеется ввиду?

      У меня лиса нормально такое смотрит. Мне оно правда не нужно (за отсутствием такого монитора и планов по его покупке) но для интереса несколько раз включал.
      Сейчас еще разок проверил на этом ролике (первое что попалось в поиске):
      https://www.youtube.com/watch?v=Wddh3ZNC-2Q

      Все показывает, хоть и грузит 60% 4х ядерного процессора при этом. Но это «спасибо» тормозному HTML5 проигрывателю нужно сказать. Во флеш-плеере загрузка процессора только 10%, но там 60 fps отключены как и некоторые другие функции (типа ускоренного/замедленно воспроизведения или поддержки 360 гр видео).


      1. DarkNews
        23.12.2016 13:43

        Хром, 4к видео, на HTML, i5 6500, 15% загрузка ЦП.
        Откуда 60% то хоть?
        Причем 15% — общая, в фоне чутка мусора + музыка из вк играет, если все по отрубать думаю около 10 и будет.


        1. Mad__Max
          23.12.2016 23:51

          Ну во-первых процессор существено старее — Phenom II X4 @ 3.6 Ghz
          Загружен на 40-60%

          А проверяли то на каком видео? — в том что я привел выше и где тестировал вообще нет 4к разрешения. Зато есть 2к с удвоенной частотой кадров (60 кадров/секунду против стандартных 30) и большим битрейтом/динамичными сценами, т.к. это не кино а запись из игры. Проигрывание 2к@60fps создает нагрузку существенно большую чем 4к@30fps

          Ну и кодек проверить через какой проигрывание идет — если H264 то он сейчас обычно аппаратно (на видеокарте или встроенных блоках видеобработки современных процессоров Intel) раскодируется вообще почти не нагружая центральный процессор (на нем только звук и пересылка данных).
          А вот на VP9 кодек обычно полностью программно обрабатывается. Ролик выше в VP9 шел когда я нагрузку на процессор смотрел, т.е. при программном декодировании.


      1. Alex_Hi
        23.12.2016 14:52

        Нет, на приложенном видео только 1080p60 доступно. Не больше. В хроме, разумеется, 1440p60. Не знаю почему так.


        1. suntori
          23.12.2016 19:24

          Попробуйте это видео:

          Заголовок спойлера


          1. Alex_Hi
            23.12.2016 22:07

            Нет, вы не поняли. Просто видео высокого качества работает(1440р, 2160), да. А вот видео высокого качества с частотой кадров 60 — нет. Не очень хочется, если честно разбираться. Все-равно успел разобраться с хромом, потому что это было приоритетней, я к нему привык слишком)


        1. Mad__Max
          23.12.2016 23:41

          Забавно только что проверил — у меня ровно на оборот. В лисе есть 2560?1440 @ 60 fps и нормально показывает. А Хроме выше 1080p60 даже выбрать не дает.

          А вообще разница как выше писали в кодеке — лиса у меня видео в VP9 кодеке показывает, а хром MP4/AVC.
          Я такое и раньше замечал — особенно на мультипликации заметно, там даже немного цвета/оттенки меняются в зависимости от того через какой браузер смотреть, т.к. грузятся вообще разные видео файлы разными кодеками сжатые.

          Хотя страно страничка https://www.youtube.com/html5 показывает что оба браузера оба варианта поддерживают и они активны.


        1. Mad__Max
          23.12.2016 23:58

          А забыл добавить — в Хроме качество видео заметно (на глаз) хуже — просто открываешь 2 окошка рядом, выбрав одинаковое качество (например 1080p60) останавливаешь на одних и тех же кадрах — в Хроме картинка существенно хуже.
          Вот на этом например сравнивал https://youtu.be/Z6lYqgWAmrg

          Особенно хорошо на медузах в начале заметно — в хроме все как легкой белесой пеленой задернуто, краски немного блеклые. В Лисе же четко(чуть больше детализации) и сочно(цвета живее и ярче).
          Хотя тут не в браузерах разница на самом деле, а опять же в кодеках (VP9 vs H264). И даже не столько в самих кодеках, а скорее всего в настройках этих кодеков, которые выставлены гуглом по умолчанию для перекодирования видео.


          1. Alex_Hi
            24.12.2016 00:31

            Правда забавно. У меня наоборот. В хроме супер, а в фаерфоксе — блёклые.


            1. Mad__Max
              24.12.2016 01:26

              Ну это кодек, при проигрывании можно нажать по правой кнопке пункт «статистика для сисадминов» («stat for nerds» в английском) и посмотреть каким кодеком сжато видео которое в данный момент браузер подхватил. Там где блеклое это будет скорее всего mp4(контейнер)/AVC(он же H264, кодек), а там где качество повыше и цвета сочнее — WebM(контейнер)/VP9(кодек)

              Не пойму правда почему они у нас в FF и Хроме местами поменялись. Лиса у меня правда тюнингована не раз, так что мог чего-то в настройках накрутить насчет видео и кодеков, но вот хромом редко пользуюсь и там все по умолчанию стоит — никогда глубоко в настройки не залезал и плагинов кроме резки рекламы никаких не ставил.

              P.S.
              Есть подозрение что тк. VP9 это детище гугла, так же как ютуб, то для H264 специально при перекодировании заливаемых пользователем видео выставлены настройки качества похуже чем для родного VP9. Ну либо пытаются к одинаковому размера видео-файла подгонять, а т.к. VP9 все-таки более качественный кодек (хоть и намного более ресурсоемкий в плане кодирования/декодирования), то на одинаковом битрейте в AVC/H264 получается качество хуже.


    1. ValdikSS
      23.12.2016 11:10

      Возможно, проблема в процессоре. У меня были точно такие же симптомы, когда я купил бракованную материнскую плату для ноутбука (процессор впаян).


  1. Oplkill
    22.12.2016 21:12
    +2

    Когда там уже завезут новый движок, чтобы уж полностью убрать зависания, которые в последних версиях участились…


  1. OlegYch_real
    22.12.2016 21:13
    +2

    как увеличение количества процессов может улучшить производительность?
    все равно что от например сервлетов вернутся назад к CGI
    думаю дело в том что разработчики браузеров не в состоянии осилить многопоточное программирование (что не удивительно учитывая на чем они пишут) и потому вынуждены вернуться к разделенной памяти
    хром допустим хвалится тем что если одна страница упадет то другие останутся, а вот сделать так чтобы не падало — им не по силам
    фаерфокс с другой стороны даже не заморачивается на выделение по процессу на страницу, отдельный процесс занимается рендерингом всех страниц, и падают они как и раньше все вместе
    единственное что улучшилось — теперь если какая-то страница начинает педалить то интерфейс браузер остается отзывчивым, но непонятно почему нельзя было точно так же вынести рендеринг страниц в отдельный поток а не процесс
    а вот глючный GC как был пять лет назад так и остался https://bugzilla.mozilla.org/show_bug.cgi?id=646941


    1. Karpion
      22.12.2016 22:43

      Увеличение скорости получается от разделения разных вычислительных подзадач по разным процессорам/ядрам (ну, процессор в современных системах обычно один, а вот ядер много). Другой вопрос — в том, что потоки тоже могут распределиться по процессорам/ядрам. Короче говоря, что-то не совсем ясно, в какую сторону они тащатся.


      1. CoolCmd
        23.12.2016 02:10

        > потоки тоже могут распределиться по процессорам/ядрам.
        javascript / dom в лисе пока «однопоточные».


        1. Regis
          23.12.2016 03:37
          +2

          Так это и нужно исправлять. А то будет как с Хромом — висит 100500 процессов и каждый оттяпал себе по 100+ Мб памяти…


        1. OlegYch_real
          25.12.2016 21:07

          javascript/dom в принципе однопоточны в рамках одной страницы, но это не значит что нельзя сделать каждую страницу в отдельном потоке

          кстати сча глянул, в основном процессе 150 потоков, в контент процессе 70 потоков
          при том что открыто всего с десяток табов в основном с простым контентом
          что они там делают — одному б-гу известно %(


          1. Mad__Max
            27.12.2016 23:43

            Странно, сейчас открыл 10 вкладок в 50й лисе (имеется ввиду 10 активных загруженных вкладок, а так их у меня около 100 табов, но остальные не подгружены были, 8 активных расширений, 10 плагинов) — всего 55 потоков в одном единственном процессе.

            Это при переключении в многопроцессный режим они так плодятся?


            1. OlegYch_real
              28.12.2016 00:34

              похоже на то
              с мультиком у меня сейчас 140 в основном процессе и 90 в контент
              без мультика 100-120 с теми же вкладками
              вероятно дополнительные потоки обрабатывают межпроцессное взаимодействие


              1. OlegYch_real
                28.12.2016 00:38

                хотя не, рестартанул с мультиком — 100 тредов в основном процессе
                так что только за счет контент процесса больше тредов


                1. Mad__Max
                  28.12.2016 01:18

                  Да, похоже дело в разных ОС или разрядности (я под виндой, 32 бит смотрел) или наборе расширений и плагинов, а не в режиме работы. Сейчас еще раз проверил перезапустив и открыв 10 активных вкладок (одних и те же в обоих случаях):
                  многопоточный режим — 59 нитей в основном процессе + 25 в контент процесс
                  однопоточный — те же 57 нитей в основном, контент процесса соответственно нет


                  1. OlegYch_real
                    28.12.2016 03:35

                    если что я тоже 32битны фф на винде
                    думаю от сайтов в первую очередь зависит


    1. Doctor5772
      25.12.2016 17:34

      А как на счёт Servo? Вроде развивается, и даже недавно какие то программы для экспериментов запускали.


      1. OlegYch_real
        25.12.2016 19:03

        если у мозилы денег хватит, то, думаю, за ним будущее
        впрочем весьма отдаленное


  1. JohnSmith001
    22.12.2016 21:13
    +1

    Похоже, скоро шутки про Firefox и память снова будут актуальны.


  1. ordoss
    22.12.2016 21:50
    +2

    Пускай время отклика и уменьшиться, но пожирание памяти дойдет до уровня хромиумов, то какие преимущества остануться у FF?
    Я надавно окончательно ушел с Chr только потому, что памяти стало не хватать. А скоро, видимо, придется возвращатся.


    1. atronach
      22.12.2016 22:43
      +1

      Дополнения и кастомизация. Этому альтернатив нет. Во всем остальном Хром лучше.


      1. ordoss
        22.12.2016 23:03

        Ну вот, пока из своих незаменимых дополнонений вижу только Tab Groups, ну и еще FoxyProxy в Хроме заметно тормозит.
        Грустно, но FF явно теряет козыри.


      1. 9uvwyuwo6pqt
        23.12.2016 03:31
        +1

        Дополнений не будет, они переходят на WebExtensions и отказываются от всего остального.


  1. andreymal
    22.12.2016 21:50
    +3

    Почему именно многопроцессность, а не многопоточность? Есть ли ещё какие-то причины, кроме возможности создания песочницы?


    1. DistortNeo
      22.12.2016 22:31
      +1

      Ещё возможность использования 32-битной версией браузера большего количества памяти, не упираясь в предел памяти на процесс. А 32-битная версия браузера предпочтительнее 64-битной на 64-битной системе, т.к. потребляет в 1.5-2 раза меньше памяти.


      1. OlegYch_real
        25.12.2016 19:08

        возможность использования большего количества памяти при использовании меньшего количества памяти :)?
        сомневаюсь что 64 битная версия даже 50% больше памяти использует, скорее 10-15%


        1. DistortNeo
          25.12.2016 20:07

          Для Firefox это вполне актуально:
          http://www.ghacks.net/2016/01/03/32-bit-vs-64-bit-browsers-which-version-has-the-edge/

          До сих пор получается чуть больше, чем 1.5 раза.


          1. OlegYch_real
            25.12.2016 20:53

            какие-то странные результаты мягко говоря
            хром жрет меньше фф? хром 32битны жрет стока же как 64битны?
            вот на мной взгляд заслуживающий больше доверия бенч http://www.erahm.org/2016/02/11/memory-usage-of-firefox-with-e10s-enabled/ там получается дето на 30% больше у 64бит


    1. CoolCmd
      23.12.2016 02:12

      потому что многопроцессность сделать проще. многопоточный движок servo еще пилить и пилить…


    1. robert_ayrapetyan
      24.12.2016 22:09
      +1

      Надежность? Если в потоке сгенерится какой-нибудь Bus Error, то упадет весь процесс, как это часто случается с фаерфоксом, а теперь упадет только одна вкладка (процесс).

      Я недавно ушел с ФФ в кром (пропал звук почему-то полностью и тормозили сильно google maps), но не прошло и недели, как вернулся обратно — слишком много страниц почему-то заканчиваются полным зависанием вкладки с иконкой папочки в шарфике.


      1. OlegYch_real
        25.12.2016 19:05

        в фаерфоксе два процесса — один на UI, другой на страницы, так что все падает вместе как и раньше


        1. robert_ayrapetyan
          25.12.2016 19:07

          Действительно, сейчас два. Но скорее всего в будущем сделают уже по процессу на каждую вкладку, иначе смысла во всех этих переделках не много.


          1. Mad__Max
            27.12.2016 23:51

            При желании можно уже сейчас в настройках выставить больше.

            А так основной смысл в ускорении работы — веб продолжает угрожающими темпами жиреть и тормознеть стараниями веб-ваятелей и «дизайнеров» и в результате скорости обработки всего на одном единственном ядре процессора часто уже не хватает — народ жалуется что лиса стала тормозить и начинает уходить на другие браузеры.
            Так же как и 2 ГБ оперативной памяти при большом кол-ве открытых страниц уже часто не хватает для разжиревших страниц. В это ограничение все чаще начинает упираться 32 бит версия браузера работающая в одном процессе (и при этом еще сильнее тормозить и иногда даже падать если пытаться еще страниц открывать).


  1. Alexey2005
    22.12.2016 22:34

    У меня в многопроцессном режиме почему-то не работает Ctrl+U, приходится вручную в адресную строку дописывать view-source.


  1. Londoner
    22.12.2016 23:31
    +3

    Вопрос в тему — в каких моделях ноутбуков стоит или можно поставить 64 гига оперативной памяти?


    1. beeruser
      23.12.2016 00:19

      ThinkPad P50, например


      1. Londoner
        23.12.2016 01:03
        +1

        А ещё какие есть, желательно не за два килобакса?


        1. evnuh
          23.12.2016 22:51

          Вы хотите ноут с 64ГБ оперативки и не за два килобакса. То есть, вероятнее всего, кроме оперативки — всё остальное должно быть посредственное, раз бюджет стандартный. И для каких задач вам такое чудо нужно?


          1. Londoner
            23.12.2016 23:10

            Ну, как же, запускать файрфокс, для чего же ещё!


    1. lola_term
      23.12.2016 01:07

      https://market.yandex.ru/catalog/54544/list?hid=91013&glfilter=5085112%3A64~&deliveryincluded=0&onstock=1
      и еще с 10 позиций не в свободном доступе на снг рынке типа Eurocom/clevo

      последние самые крутые — они практически задают стандарты сборок ноутов, т.к. у них все практически заменяемое как в пк, все остальные компании берут их модели и брендируют по сути, делая на их основе свои продакшн версии, так делают Dns/Dexp и другие вендоры, видели где нибудь ноуты пользовательские с 8гиговой видеокартой встроенной еще и в 15 дюймовый и держащий батарею по 4 часа почти в работе? а вот у них есть у самых первых.


  1. JetMaster
    23.12.2016 05:58

    Помимо всего прочего, если включить данную опцию, то при случае «падает» только активная вкладка, а не весь браузер.


    1. OlegYch_real
      25.12.2016 19:09

      не правда, падает весь процесс рендеринга страниц вместе со всеми страницами


  1. Zergos_Z
    23.12.2016 12:20

    Может когда они подопиливают все бесполезные фичи, вроде этой, они наконец приступят к фиксу багов рендеринга, которые по несколько лет висят у них в багтрекере? Или дадут возможность кастомизировать по-человечески элементы управления и скролл-бары, как это дают делать все остальные браузеры, включая edge(!)?


  1. Mel
    23.12.2016 12:56

    Попробовал включить, весь браузер фризит намертво при открытии ссылок. Выключил обратно.


  1. neebet01
    23.12.2016 13:43

    спасибо, включил себе принудительно. действительно отзывается быстрее.


  1. schetilin
    24.12.2016 02:36

    /*крик души*/
    Ну почему они такие тупые кто придумал закрывать браузер вместе с последней вкладкой. Убил бы


    1. Mad__Max
      24.12.2016 02:58
      +1

      Не надо кричать. Чем хорош FF что в нем практически все настраивается и за что его любят гики и программеры.
      Конкретно этот момент:
      открываем about:config
      находим опцию browser.tabs.closeWindowWithLastTab
      переставляем ее в false (двойной клик)
      перезапускаем браузер

      P.S.
      Сначала хотел написать — а каким образом это вообще к FF(о котором статья) относится, ведь он в отличии от хрома как раз не закрывается вместе с последней вкладкой. Но пока писал вспомнил, что когда-то давно (пару лет назад) это я сам так настроил, а по умолчанию он все-таки закрывается.


      1. schetilin
        24.12.2016 03:02
        +1

        Да знаю я как это настраивается. Мне интересно, кто придумал что такое поведение по умолчанию удобно. В поисковых запросах о настройках браузера, наверно самый часто задаваемый вопрос: «как сделать чтоб… не закрывался».


  1. vadimpl
    26.12.2016 11:21

    Попробовал включить, в т.ч. принудительно. Ну если FF будет конём в вакууме, то, наверное, всё и будет прекрасно. На деле кто будет лопатить все эти

    аддонсы?:
    image


    1. Mad__Max
      28.12.2016 00:02

      Этот аддон проверяющий совместимость аддонов сильно врет. Точнее не целенаправленно врет, а помечает как несовместимые ВСЕ аддоны, кроме тех где разработчики в явном виде их протестировали на совместимость и внесли соответствующие метки.

      Т.е. совместимые = протестированные и гарантированно работающие
      не совместимые = реально не совместимые (требующие обновления/переписывания каких-то частей для корректной работы) + просто еще не проверенные

      Мне он из 10 установленных расширений показал что совместимы только 4, а 6 не совместимы. В реальности включив многопоточный режим, оказалось что 8 из 10 работают нормально и только с 2мя наблюдаются проблемы (один вообще не работает, 2й работает, но переходит в режим ограниченных функций и выдает сообщение что разработки уже пилят новую версию под многопоточный режим).