Выпуск Firefox 57 с многопоточным CSS-движком и новым оформлением

Автор denkin, ноября 15, 2017, 01:41:16

« предыдущая - следующая »

denkin

Состоялся релиз web-браузера Firefox 57, а также мобильной версии Firefox 57 для платформы Android. Firefox 57 является одним из самых значительных выпусков в истории проекта. В новой версии переработан внешний вид браузера, осуществлён переход на WebExtensions и новый web-движок Quantum, комбинирующий проверенные временем компоненты движка Gecko с новыми возможностями по обеспечению многопоточной обработки данных, предоставляемые языком Rust и движком Servo.
Новость на opennet
Подробности

"В ближайшие часы ожидается обновление ветки с длительным сроком поддержки 52.5.0 и переход на стадию бета-тестирования ветки Firefox 58, релиз которой намечен на 23 января.

Основные новшества:

Интегрирован новый CSS-движок Stylo (Quantum CSS), подготовленный в рамках проекта Quantum, в котором производится работа по переносу в браузер возможностей, изначально развиваемых для движка Servo. Stylo написан на языке Rust и отличается распараллеливанием обработки стилей CSS. Так как разные CSS-стили теперь обрабатываются параллельно, не блокируя друг друга, отмечается значительное повышение скорости обработки страниц. В сочетании с оптимизациями, подготовленными в рамках проекта Flow и уже вошедшими в состав Firefox 55, выпуск Firefox 57 демонстрирует двухкратный прирост производительности в тесте Speedometer 2.0, по сравнению с версией Firefox 52.
Что касается потребления памяти, то в тесте по открытию 30 вкладок Firefox c 4 процессами-обработчиками контента потребляет в среднем на 30% меньше памяти по сравнению с Chrome 61 (на каждую вкладку отдельный процесс).
В дальнейшем в Firefox ожидается включение проекта Quantum DOM, который обеспечит распараллеливание операций с DOM (Document Object Model) и оставит в прошлом применяемую ныне однопоточную схему обработки контента. JavaScript-код для разных вкладок и iframe будет выполняться параллельно в отдельных нитях, что позволит увеличить отзывчивость браузера при использовании большого числа открытых вкладок. Для переключения между нитями будет задействован встроенный планировщик совместной многозадачности, переключающий контекст в "безопасные" моменты, например, при вызове функций и в вершине каждой итерации циклов, что позволит минимизировать использование блокировок.

Также планируется реализовать эвристические методы для остановки выполнения кода во второстепенных фоновых вкладках, предоставить интерфейс для блокирования бесконечного зацикливания и снижения приоритета ресурсоёмких скриптов. Для отрисовки будут задействованы наработки проекта Quantum Render, основанном на системе композитинга Servo WebRender и привлекающем GPU для обработки графики.
Полный переход на технологию WebExtensions для дополнений. Поддержка XUL/XPCOM-дополнений полностью отключена (опция extensions.legacy.enabled=true в about:config пока оставлена, но не работает);
Реализован третий уровень sandbox-изоляции для платформы Linux, при котором в дополнение к ограничению доступа к системным вызовам при помощи Seccomp-bpf, запрету записи в ФС, исключению доступа к разделяемой памяти, временной директории и видеоподсистеме, для процессов браузера также реализовано ограничение на чтение произвольных данных из ФС и лимитирование доступа к настройкам тем оформления, шрифтам, библиотекам и совместно используемым данным. В том числе теперь невозможно прочитать данные из домашнего каталога и профиля пользователя. При необходимости доступ к отдельным каталогам можно открыть через включение в белые списки security.sandbox.content.read_path_whitelist и security.sandbox.content.write_path_whitelist или смену уровня изоляции через опцию security.sandbox.content.level в about:config;
Новое оформление интерфейса пользователя, подготовленное в рамках проекта Photon. Основные изменения:
Прямоугольные кнопки вкладок;
Скрытие по умолчанию панели поиска (только для новых установок, после обновления панель остаётся). В настройки добавлена опция, позволяющая вернуть отдельную форму для обращения к поисковым системам;
Новая стартовая страница ("about:home"), основанная на дополнении Activity Stream, предлагающем помимо часто посещаемых ресурсов, подборку рекомендованного сервисом Pocket контента, который потенциально может быть интересен пользователю (рекомендации пока показываются только пользователям США, Канады и Германии).
Новая реализация основного меню, в котором вместо многоколоночной сетки пиктограмм возвращено классическое меню.
Для дополнений предложено отдельное меню ">>", содержимое которого сможет настраивать пользователь. Интерфейс кастомизации ограничен возможностью изменения панели и состава дополнительного меню;
Новая кнопка "Библиотека", предоставляющая доступ к истории посещений, закладкам, загрузкам, синхронизированному контенту и ссылкам в Pocket. В меню также показывается подборка недавно открытых страниц.
В адресную строку встроено новое меню "...", через которое можно добавить закладку, отправить ссылку в Pocket, работать с буфером обмена, создать скриншот и поделиться материалом по электронной почте;
Новая боковая панель, отображаемая в правой части экрана и предоставляющая средства для быстрого переключения между закладками, историей посещений и вкладками с других устройств. Возможность закрепления боковой панели как слева от контента, так и в правой части экрана.
Два дополнительных режима: "для сенсорных экранов" и "компактный", при выборе которых увеличивается или уменьшаются отступы и интервалы между элементами;
Отдельная стартовая страница для режима "инкогнито".
Изменено оформление страниц, отображаемых при ошибках, для страниц в списках блокировки и при открытия по HTTPS сайтов с некорректным, просроченным или самоподписанным сертификатом;
Новое оформление системы настройки параметров браузера. Включена функция поиска настроек;
Применение анимированных эффектов для придания большей динамичности выполняемым операциям и акцентировании внимания на изменении состояний (например более заметная индикация завершения загрузки файла или прогресса загрузки содержимого вкладки);
Цветовая дифференциация важности всплывающих уведомлений. Например, наиболее важные уведомления выделяются красным, требующие внимания - желтым, а информационные - цветом фона;
В настройки добавлена опция, позволяющая для всех окон и вкладок включить блокирование JavaScript-кода, связанного с отслеживанием поведения пользователя и перемещений между сайтами. Ранее систма блокирования отслеживания перемещений была ограничена режимом "инкогнито". Реализованная в Firefox система использует метод блокирования внешних JavaScript-скриптов, изображений и iframe-страниц с сайтов, занесённых в чёрный список disconnect.me. При этом блокируются не только конкретные файлы, а любые запросы к доменам, уличённым в отслеживании пользователей вопреки установке заголовка Do Not Track. В том числе, под блокировку подпадают счётчики, виджеты и некоторые рекламные блоки. В соответствии с ранее проведённым исследованием, включение блокировки отслеживания приводит к сокращению времени загрузки страниц в среднем на 44% и уменьшению размера загружаемых данных на 39%.
В настройках расширена секция для управления правами доступа всех сайтов. Например, можно сразу всем запретить доступ к камере, микрофону, API для определения местоположения и средствам доставки уведомлений, предоставив выборочный доступ только избранным ресурсам;
Переработано оформление интерфейса инструментов для разработчиков. Представлена упрощённая навигационная панель с элементами в виде вкладок и визуальное выделение центрального блока с кодом по отношению к панелям. Пересмотрена цветовая схема, используемая при подсветке синтаксиса HTML и JavaScript. Красный цвет теперь закреплён только за ошибками. Убраны слишком кричащие цвета в пользу умеренной тёплой цветовой гаммы. Увеличена читаемость кода.
В инструментах для разработчиков полностью переписаны консоль, отладчик и сетевой мониторинг, которые теперь реализованы с использованием штатных web-технологий, включая фреймворки React и Redux. Существенно расширены возможности инспектирования - добавлена поддержка CSS Grid и CSS Variables. В консоли появилась возможность группировки сообщений и раскрытия кода объектов. В отладчике предоставлены новые методы поиска, навигации и отладки проектов;
Добавлен интерфейс для управления данными сайтов, сохраняемыми на локальной системе;
Включено по умолчанию свойство dom.forms.datetime, позволяющее использовать в формах поля ввода даты и времени ("input type=date" и "input type=time");
Внесена порция улучшений в систему автозаполнения форм: добавлена дополнительная эвристика для определения типа данных в полях форм ввода, обеспечена возможность автоматического сохранения адреса после отправки формы, добавлен предпросмотр данных которые будут заполнены в полях при выборе предложенного варианта автозаполнения;
Вставка из буфера обмена средней кнопкой мыши в области контента больше не приводит к открытию URL, находящегося в буфере обмена (данная особенность приводила к казусам, например, если промахнуться кликая средней кнопкой на ссылке, мог открыться другой URL);
Функция автоматической прокрутки страницы (autoscrolling) теперь работает в асинхронном режиме (упреждающая отрисовка контента не попадающего в видимую область), по аналогии с другими методами ввода (например, прокруткой колесом мыши);
Удалена поддержка кнопки "Share", которая завязана на неофициальный Social API и несовместима с WebExtension. Для пользователей, которым хочется разместить кнопку для быстрой отправки ссылок в Facebook, Twitter, Google+, Linkedin, Reddit, Tumblr, Telegram, Gmail и Diaspora рекомендуется установить дополнение Share Backported;
Добавлена поддержка встроенного в чипы AMD аппаратного декодировщика видео в формате VP9, позволяющего снизить нагрузку на CPU и продлить время автономной работы при просмотре видео;
В США, Канаде, Гонконге и Тайвани возвращено использование Google в качестве поискового сервиса по умолчанию. В России, Беларуси и Казахстане по-прежнему по умолчанию предлагается Yandex;
В версии для платформы Android обновлён интерфейс, реализована блокировка воспроизведения видео в неактивных вкладках, в адресной строке обеспечена возможность прокрутки длинных URL;
Кроме новшеств и исправления ошибок в Firefox 57 устранена серия уязвимостей, из которых несколько помечены как критические, т.е. могут привести к выполнению кода злоумышленника при открытии специально оформленных страниц. В настоящее время информация с подробностями об исправленных проблемах безопасности недоступна, ожидается, что перечень уязвимостей будет опубликован в течение нескольких часов."
(с)

[свернуть]

butjapka



werkty

В реальности к тормозам добавилась некастомизируемость, перегруженные интерфейс и меню, четверть занятого вкладками места на экране вверху, половина отвалившихся дополнений (без которых фокс не нужен чуть менее, чем полностью), другая логика настройки, к которой уже и не хочется привыкать. Сделал хром браузером по умолчанию, а этот пусть остается, как дополнительный баласт. Как сказал один мой знакомый, увидевший нового фокса, "дануегонафиг".

aleks_

По мне так Firefox стал очень даже быстрым. в сравнении с Pale Moon не вижу разницы, разве что при первом запуске слегка задумчивый, и оперативы берёт чуть больше. Интерфейс очень простой, предел минимализма. Главное - не тормозит как раньше, совсем другой браузер.

denkin

Сегодня обновился firefox до 57 версии в тестовой Xubuntu 18.04, решил попользоваться. Субъективно лис стал очень быстрым и совсем не тормозит.

butjapka

Цитата: denkin от декабря 02, 2017, 21:48:10
Сегодня обновился firefox до 57 версии в тестовой Xubuntu 18.04, решил попользоваться. Субъективно лис стал очень быстрым и совсем не тормозит.

а по сравнению с оперой?

denkin

Так же быстро работает или даже на доли секунды быстрее.
Правда с оперы я врядли слезу - уж очень там синхронизация удобная)))
Я на любом девайсе профиль поднимаю в мгновение и доступ к истории и т.п.