Новый Firefox стал многопоточным и быстрым. Улучшение производительности, многопроцессорный режим, буферизация, анонимность, безопасность и защита в браузере Mozilla Firefox

Несколько часов назад вышла 48 версия браузера Mozilla Firefox. Относительно предыдущей, 47 версии в ней есть не только то, что можно описать как «мелкие изменения, которые кроются под капотом». Впервые официально в релизной версии Firefox начинает появляться многопроцессность, которая у части пользователей включена по умолчанию.

Electrolysis

Для современного браузера многопроцессность - это признак хорошего тона. Все браузеры обладают вкладками, а каждая из вкладок в многопоточном режиме является отдельным изолированным процессом. Достоинства такого подхода - не только в дополнительных мерах безопасности и исключении ряда атак. В отдельные процессы можно уводить вкладки, дополнения и расширения, к примеру, Adobe Flash Player. Если один из процессов завершится с ошибкой, работу можно продолжить без перезапуска всего браузера. Исключаются разнообразные утечки памяти, растёт производительность за счёт распараллеливания задач нескольким ядрам процессора. Если одна из вкладок потребляет много ресурсов, интерфейс не повиснет, а продолжит отзываться.

Многопроцессностью обладают почти все популярные браузеры: Google Chrome, Internet Explorer, Microsoft Edge, Apple Safari. Mozilla Firefox догоняет их. Electrolysis или e10s - это технология многопоточного режима в Firefox. В первых версиях процессов два: один для браузерных вкладок, второй для интерфейса. В следующих версиях процессов на контент будет несколько.

В 48 версии Electrolysis впервые включают в релизной версии. Но не у всех, а только у одного процента пользователей. Если в Mozilla будут довольны результатами теста, то за десять дней долю поднимут до приблизительно половины пользователей.

Многопроцессность можно включить самостоятельного. Чтобы убедиться, какая версия попалась, достаточно набрать в адресной строке about:support и поискать строчку Multiprocess Windows.

Не все расширения совместимы с Electrolysis. Можно посмотреть списки самых популярных дополнений на сайте Are We e10s Yet , где указан их статус совместимости в режиме многопоточного Firefox. Можно сразу включить Electrolysis и выключить его позже, если важные дополнения ломаются.

Нужный параметр в about:config (ввести в адресную строку и нажать «Ввод») - browser.tabs.remote.autostart . Значение параметра нужно установить на true двойным щелчком.

После перезапуска браузера Electrolysis может заработать. Иногда его включению будет мешать какое-то дополенение.

Чтобы обойти это ограничение, создайте в about:config новую булеву постоянную browser.tabs.remote.force-enable и присвойте ей значение true .

Теперь Electrolysis заработает в принудительном режиме многопроцессности. (Обратите внимание, что подобное может отразиться на производительности некоторых дополнений.) В about:support напротив Multiprocess Windows появится 1/1 (Enabled by user).

Обязательность подписи расширений

Electrolysis можно включить или отключить через about:config . А вот способа отключить обязательность подписи устанавливаемого расширения больше нет. Опция исчезла, как и было задумано.

В итоге обязательные неотключаемые подписи появились только в текущей, 48 версии. Электронную подпись расширения получают на addons.mozilla.org (AMO) вне зависимости, будет ли расширение опубликовано на AMO или нет. Цель требования получать обязательную подпись на AMO - безопасность пользователей. Система фильтрует вредоносные расширения в режиме чёрного списка.

Прочие изменения

В Firefox 49 исчезла поддержка Android 2.3 (Gingerbread), версий OS X 10.6 (Snow Leopard), 10.7 (Lion) и 10.8 (Mountain Lion). Эти операционные системы вышли 4-6 лет назад.

Что дальше?

Firefox Hello - это инструмент для сотрудничества и общения в формате аудио- и видеочата, созданный на технологии WebRTC. Сервис встроен в Firefox с 34 версии. В 49 версии Hello может исчезнуть. На баг-трекере обсуждается удаление Hello из браузера уже в следующей версии. Причина удаления - смена приоритетов разработки. В ночной сборке Nightly 51 и ранней версии Aurora 50 сервис Hello уже исчез. На момент написания поста Beta 49 пока недоступна.

Ранее из Firefox удалили темы оформления и группы вкладок из-за малоиспользуемости. Поддержка малопопулярных функций замедляла выпуск новых версий. Возможно, Hello хотят убрать по той же причине.

Firefox продолжит избавляться от поддержки старых систем. В 49 версии набор инструкций центрального процессора SSE2 будет обязательным для работы Firefox под Windows. Речь идёт об отказе от процессоров до эпохи Pentium 4 и Ahtlon 64.

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

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

«Мозилла» начала проект Electrolysis для адаптации движка «Гекко» к использованию нескольких процессов. Что вынуждает «Мозиллу» переключаться на подобную модель построения своего браузера? В первую очередь, это производительность и отзывчивость. Основной целью является уменьшение подвисания (jank), проявляющегося при стандартных операциях - загрузке особенно крупной страницы, наборе текста в веб-форме или прокрутке перегруженной элементами страницы.

Предлагаю воспользоваться новыми функциями многопроцессорной модели (к сожалению, по умолчанию они отключены, так как еще в разработке). Все функции проверены самим автором, и их значения подобраны для максимально быстрой и стабильной работы. Основной упор сделан на производительность и отзывчивость Firefox в условиях агрессивного серфинга. Потребление памяти в сравнении с однопроцессорным режимом должно вырасти где-то на 12%-17% с учетом форсированного использования аппаратного ускорения, а без него не более, чем на 10%.

Так как проект только развивается и не является полностью стабильным, редактируйте в новом профиле а потом сравните результат. Ссылаться на свои результаты считаю неуместным, из-за сырости проекта. Результаты просто-напросто могут разниться кардинально.

Оптимизация

Применимо на всех версиях выше 44beta

Правим about:config:

Browser.tabs.remote.autostart - true (включить многопроцессорность для вкладок) layers.async-pan-zoom.enabled - true dom.ipc.plugins.asyncInit - true (асинхронность плагинов) javascript.options.asyncstack;true layers.acceleration.force-enabled = true (отключить при проблемах с видео) network.http.max-connections = 512 network.http.pipelining = true network.http.pipelining.aggressive = true network.http.pipelining.max-optimistic-requests = 32 network.http.pipelining.maxrequests = 96 network.http.pipelining.maxsize = 600000 network.http.pipelining.ssl = true network.http.proxy.pipelining = true browser.cache.use_new_backend - 1 (новая система кеширования) memory.free_dirty_pages - true browser.tabs.animate = false image.cache.timeweight = 100 browser.display.show_image_placeholders - false nglayout.initialpaint.delay;0 (создать целое) browser.display.auto_quality_min_font_size - (-1)

Browser.display.focus_ring_on_anything (Логическое) = false browser.display.focus_ring_width (Целое) = 0

Защита

Network.dns.disableIPv6 - false network.dns.disablePrefetch - true network.predictor.enabled - false network.predictor.cleaned-up - true network.prefetch-next - false browser.send_pings - false network.http.speculative-parallel-limit - 0 (ноль) privacy.trackingprotection.enabled;true (защита от жучков) browser.safebrowsing.enabled;false browser.safebrowsing.malware.enabled;false datareporting.healthreport.service.enabled;false browser.safebrowsing.downloads.remote.enabled;false extensions.blocklist.enabled - false extensions.getAddons.cache.enabled - false browser.chrome.toolbar_tips - false media.video_stats.enabled - false dom.battery.enabled - false media.peerconnection.enabled=false

Устройства

Dom.gamepad.enabled;false dom.vr.oculus.enabled;false dom.vibrator.enabled

Отключить Hello

Browser.newtabpage.directory.ping - оставить пустую строку browser.newtabpage.directory.source - оставить пустую строку browser.aboutHomeSnippets.updateUrl - оставить пустую строку

Теперь качество работы повыситься в разы. Удачи.

Зачем браузеру нужно несколько процессов? Многопроцессная архитектура повышает безопасность и стабильность: если где-то произойдёт сбой, то он не утянет разом за собой всё остальное.

На самом деле приём со множеством процессов уже давно используют другие браузеры, причём значительно более агрессивно, чем Firefox. К примеру, Chrome и все обозреватели на базе Chromium (современная Opera, Яндекс.Браузер и прочие) и вовсе могут показывать в диспетчере задач десятки процессов в памяти, если у вас загружено много вкладок.

В этом есть один серьёзный негативный момент: множество процессов могут сильно нагружать слабенький компьютер, а если вы привыкли работать с большим числом вкладок или у вас установлено много расширений, то «напрячься» может уже и ПК с относительно актуальными характеристиками.

Firefox создаёт меньше процессов, чем Chrome?

Как мы уже сказали, Mozilla подошла к вопросу с несколькими процессами куда более осторожно, чем та же Google.

Изначально разработчики сделали для Firefox лишь один дополнительный процесс, куда выводились плагины (не путать с расширениями), – plugin-container.exe. Таким образом, у Firefox впервые появилось 2 процесса.

Однако время шло и требовало от компании всё же не уступать конкурентам в плане стабильности и безопасности. В итоге в этом году была завершена давно тестировавшаяся полноценная многопроцессная архитектура Firefox.

Преимущество по меньшему потреблению памяти Firefox не теряет, даже если использует свою многопроцессность на максимум (8 CP – 8 процессов для обработки контента)

Часть пользователей стабильных версий Firefox впервые смогли оценить многопроцессность уже этим летом начиная с Firefox 54. Окончательным же этапом здесь стал осенний выход Firefox 57, который больше не поддерживал . Часть из этих расширений прежде могла блокировать многопроцессный режим, заставляя Firefox использовать лишь один процесс.

Впрочем, с процессами у Firefox дела обстоят все равно не так, как у Chrome. Если детище Google запускает в отдельных процессах буквально всё и вся (каждую вкладку, каждое расширение), то Firefox разбивает различные элементы на группы. В итоге процессов получается совсем не так много, как у главного конкурента.

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

Вдобавок Firefox использует иной механизм вкладок по требованию в отличие от того, что применяется в Chrome и браузерах на основе Chromium.

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

Как уменьшить число процессов Firefox?

В отличие Google, Mozilla практически позволяет пользователю самому регулировать, сколько процессов в памяти использовать браузеру.

Видите, как в диспетчере задач висят несколько процессов firefox.exe (или firefox.exe *32 в случае использования 32-разрядных версий) и хотите их убрать/отключить – не проблема. Откройте настройки, прокрутите вниз раздел «основное», дойдя до подраздела «производительность»:

Если вы снимете флажок с параметра «Использовать рекомендуемые настройки производительности», то перед вами появится настройка числа процессов обработки контента.

На выбор предлагаются варианты от 1 до 7 процессов (если памяти у вас более 8 ГБ, то процессов может предлагаться и больше, чем 7):

На этом моменте стоит сделать несколько важных уточнений.

Во-первых, речь идёт о процессах для обработки контента. Если вы укажете здесь, например, всего 1 процесс, то общее число процессов в памяти уменьшится, однако лишь одну копию firefox.exe вы все равно не получите, т. к. помимо контента Firefox выводит в отдельные процессы ещё и обработку интерфейса.

Во-вторых, уменьшение числа процессов имеет смысл на компьютерах с небольшим объёмом «оперативки» и крайне слабым железом. В свою очередь, на более-менее приемлемом железе многопроцессность не ухудшит производительность, а, наоборот, будет способствовать ей, пусть и ценой увеличенного потребления памяти.

Есть ли выгода от уменьшения числа процессов?

Если говорить о нашем собственном примере, то для ПК с 8 ГБ ОЗУ изначально было предложено 4 процесса по обработке контента. При этом в памяти при открытии большого числа вкладок могло отображаться до 7 процессов.

Когда мы установили число процессов контента равным 1, перезапустили браузер и заново прокликали по всем вкладкам, чтобы они загрузились, в памяти предсказуемо осталось только 4 процесса.

Из них 3 предназначены для самого браузера и 1 процесс как раз для обработки контента, причём последний легко отличить, т. к. при открытии приличного числа вкладок он начинает забирать себе памяти значительно больше остальных:

В Firefox при этом у нас было открыто 15 различных сайтов. В изначальном режиме (7 процессов) суммарное потребление памяти составило около 1,5 ГБ. Когда же процессов осталось лишь четыре, то в сумме они забирали около 1,4 ГБ (см. скриншоты выше).

Мы повторяли эксперимент несколько раз, каждый из них «выигрыш» оперативной памяти составлял всего 100-150 МБ. При этом стоит учитывать, что производительность браузера от перехода на 1 процесс для контента могла быть снижена. Таким образом, смысл уменьшения числа процессов, как видите, весьма невелик.

Firefox 54 обрабатывает веб-контент не в один поток, а в четыре, что должно сделать его быстрее и предотвратить зависание всех вкладок одновременно. В Firefox 55 пользователь сможет увеличить количество потоков до семи. От политики «одна вкладка = один поток» разработчики отказались ради экономии оперативной памяти.

Многопроцессный Firefox 54

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

Нововведение является логичным шагом в развитии проекта Electrolysis, или e10s, в рамках которого Mozilla постепенно превращает Firefox в многопроцессный браузер. В августе 2016 г. компания выпустила Firefox 48, в котором выделила в отдельный процесс обработку пользовательского интерфейса, благодаря чему он продолжал работать доже при зависании вкладок. Однако контент все еще обрабатывался в один поток.

Сравнение с Chrome

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

По данным тестов Mozilla, версия Chrome для Windows требует в 1,77 раза больше оперативной памяти, чем 64-битная версия Firefox, и в 2 раза больше, чем 32-битная версия. В macOS Chrome использует в 1,36 раз больше памяти, чем 64-битный Firefox, и в 1,42 больше, чем 32-битный.

Планы на будущее

В версии Firefox 55 количество потоков по умолчанию будет равняться четырем, но пользователь сможет по своему желанию увеличить их число до семи, воспользовавшись строкой dom.ipc.processCount в about:config.

Помимо этого, Mozilla развивает проект Quantum, в рамках которого собирается оптимизировать движок браузера к концу 2017 г. Оптимизация приспособит Firefox к работе с многоядерными процессорами и улучшит работу графических чипов с потоками контента.

Другие изменения в Firefox 54

В Firefox 54 Mozilla продолжила внедрение кросс-браузерных WebExtension API, которые в Firefox 57 станут единственными API, доступными для дополнений. С помощью WebExtension теперь можно создать кастомную панель инструментов DevTools. Кроме того, WebExtension может теперь заменить или кастомизировать страницу новой вкладки.

Помимо этого, изменилось отображение статуса загрузки, которое стало более информативным. Также появилась функция создания и сохранения собственных устройств пользователя в Responsive Design Mode. Кроме того, браузер прекратил поддерживать HTTP/1 Pipelining, в планах разработчиков скорый переход на HTTP/2.

Вопросы утром к маме: «Мам, где моя куртка?», «Мам, где мой рюкзак», «Мам, что мне надеть», «Мам, а что взять на завтрак», «Мам, а дай денег», «Мам, а где мои ключи» и так далее. Вопросы утром к папе: «Пааап, а где мама?»
Просто шутка-юмора:)

Помните что в браузере есть синхронизация, которую можно перед экспериментами отключить. Браузер пал смертью храбрых — закопайте удалите. Заново установите программу и включите синхронизацию. Или нажмёте на решётку — знак вопроса (Открыть меню справок) — «Перезапустить без дополнений…» — «Перезапуститься» — Ещё раз «Перезапуститься» — «Очистить Firefox» — перед вами снова младенец — улю лю, улю лю лю.

Можно скопировать профиль и положить его в архив на разделе с данными (музыка, фотки). Каши ест мало, а пригодиться и выручит в любой момент. Кстати, кому нужен профиль от RobotSuperDashka, переходите по этой и качайте. Одним словом много где можно постелить соломы, чтобы при падении не поломать рёбра. Но ломать мы ничего не собираемся, потому-что будем осторожны.

1. Буферизация видео YouTube . Многие на медиа-портале спрашивают, как сделать полную буферизацию видео и потом комфортно смотреть ролик. Чтобы каждый раз не перенаправлять на сторонние ресурсы запилил свой видеосовет. Что нужно сделать?

а. В адресной строке браузера Firefox прописываем следующее: about:config
б. В поле поиска пишем: media.mediasource.enabled
в. Два раза кликаем по имени настройки и переводим значение true в false .
г. Наслаждаемся просмотром видеоматериала.

Но есть и не очень приятные новости. Ограничение качества видео. 1080, 4K уже не посмотреть, самое большое это 720. Так что выбирайте — вершки или корешки:). А собственно вот и ролик:

2. Многопроцессный режим в Firefox .
д. В адресной строке браузера Firefox прописываем следующее: about:config
е. Отобьём у расширений вставлять палки в колёса — extensions.e10sBlockedByAddons false
ё. Многопоточный режим — browser.tabs.remote.autostart true
ж. Если не сработало, включаем принудительный режим. Создать логическую переменную browser.tabs.remote.force-enable true
з. dom.ipc.processCount меняем количество процессов для вкладок.

Тонкая настройка Firefox для улучшения производительности — http://lumpics.ru/fine-tune-the-mozilla-firefox/

Ролик, если кто не в теме:

3. Анонимность в браузере Mozilla Firefox .

Представим вам захотелось включить анонимный серфинг, самое простое это сменить IP-адрес при помощи, например, Hoxx VPN Proxy (). Да, теперь можно спокойно заходить на . Мы думаем, что полностью анонимны. На самом деле нас всяк видит и наша шапка невидимка дырява. Подтвердить это может сервис быстрой проверки анонимности — . И что же? IP-адрес просвечивается, WebRTC включено, Flash включено, Javascript включено. А это означает только одно, вы ходите и следите по всему интернету. Как мало-мальски защитить свою частную жизнь, популярно показал в ролике.

Помощь в решении проблемы:

Сервис где можно проверить свою анонимность — https://whoer.net/ru
Сервис где вы можете перепроверить свою анонимность — https://www.dnsleaktest.com/
Disables WebRTC — https://addons.mozilla.org/ru/firefox/addon/happy-bonobo-disable-webrtc/
У кого нет желания уст.расширение в скрытых настройках about:config найдите переменную media.peerconnection.enabled значение должно быть false
DNSCrypt — https://www.comss.ru/page.php?id=2814
Очистить кэш-память DNS — https://help.ea.com/ru-ru/help/pc/how-to-flush-dns-cache-for-windows/
Бабахнуть JavaScript. В адресной строке браузера Firefox прописываем: about:config — в поиске пишем команду javascript.enabled — ставим значение false
Язык браузера — intl.accept_languages
Настройка DNS на роутере — https://www.comss.ru/page.php?id=755
Галерея веб-инструментов тестирования безопасности браузера — https://browserleaks.com/

Существуют ещё несколько параметров, где могут быть утечки: кроме DNS, Flash, Java, ActiveX, WebRTC это системное время, язык, отключенный Do Not Track и заголовки браузера. Когда вы всё это подредактируете, «ретушируете» и настроите, считайте что вы анонимны. Но выставлять посты, как правильно курить бамбук и лезть на баррикады не советую. Губ Чека всё равно хитрее.

А куда скрылся ролик? От нас не скроешься:)

4. Ручной режим установки переводчика для Firefox .

А вот это одна из вкусняшек, даже если вы пользуетесь расширением S3.Google Переводчик ().

Оригинальная многоходовка, точный пас и гол:

0. В адресной строке браузера пишем about:config
1. browser.translation.detectLanguage true
2. browser.translation.ui.show true
3. browser.translation.engine yandex
4. Переходим по адресу
5. Третий пункт — Get a free API key
6. Генерировать ключ
7. about:config — Создать — Строка — browser.translation.yandex.apiKeyOverride
8. Вводим ключ
9. Теперь любой буржуинский сайт порвём на портянки:)

5. Безопасность и защита компьютера при работе в сети Интернет .

Всяк о своей безопасности при серфинге в интернете заботиться по разному. Одни говорят, что уже сто лет сидят без антивирусной защиты и всё нормалёк. Другие мол перешли на Linux (всегда веселят такие комментарии) . Третьи громоздят военно-инженерные сооружения. Каких правил придерживается автор поста? Даже и не знаю, что сказать по этому поводу — у меня Macrium Reflect (ссылка уже была в начале поста). Одним словом я тут набросаю ссылок, а вы разбирайтесь:)



Понравилась статья? Поделиться с друзьями: