В ночные сборки (https://nightly.mozilla.org/) Firefox добавлен (https://blog.nightly.mozilla.org/2017/07/25/stylo-is-ready-f.../) новый CSS-движок Stylo (https://wiki.mozilla.org/Stylo), развиваемый в рамках проекта Quantum (https://www.opennet.ru/opennews/art.shtml?num=45385), в котором производится работа по переносу в браузер возможностей, изначально развиваемых для движка Servo. Stylo написан на языке Rust и примечателен распараллеливанием обработки стилей CSS. Для включения нового CSS-движка в about:config следует установить опцию layout.css.servo.enabled=true.Наиболее заметным эффектом после включения Stylo отмечается увеличение скорости обработки страниц, так как разные CSS-стили обрабатываются параллельно, не блокируя друг друга. В настоящее время работа сосредоточена по оттачиванию кодовой базы и стабилизации Stylo - открытыми остаётся (https://wiki.mozilla.org/Stylo) 68 известных пробоем, 18 из которых имеют характер блокирующих выпуск. Разработчики намерены оперативно устранить данные проблемы и задействовать Stylo в Firefox 57, запланированном на ноябрь и примечательным модернизацией оформления браузера и полным переходом на WebExtensions.
Тем временем, в ближайшем выпуске Firefox 55, который выйдет 8 августа, будут включены наработки другой инициативы Quantum - Flow (https://wiki.mozilla.org/Quantum/Flow), в рамках которой развиваются дополнительные оптимизации для увеличения производительности интерфейса пользователя. Тестирование бета-версии Firefox 55 показало (https://metafluff.com/2017/07/21/i-am-a-tab-hoarder/) существенное ускорение работы со вкладками и сокращение времени запуска. Тестирование проводилось с профилем, содержащим 1691 (!) вкладку. Если в прошлые выпуски запуск браузера со столь огромным числом вкладок занимал 5-8 минут, то в Firefox 55 ситуация изменилась и на запуск ушло всего 15 cекунд, а потребление памяти снизилось в 4 раза (с 2 до 0.5 Гб, без фактической загрузки содержимого всех страниц).
Из ожидающих внедрения инициатив проекта Quantum можно отметить Quantum DOM (https://billmccloskey.wordpress.com/2016/10/27/mozillas-quan.../), который обеспечит распараллеливание операций с DOM (Document Object Model). JavaScript-код для разных вкладок и iframe будет выполняться параллельно в отдельных нитях, что позволит увеличить отзывчивость браузера при использовании большого числа открытых вкладок. Для переключения между нитями будет задействован встроенный планировщик совместной многозадачности, переключающий контекст в "безопасные" моменты, например, при вызове функций и в вершине каждой итерации циклов, что позволит минимизировать использование блокировок. Дополнительно планируется реализовать эвристические методы для остановки выполнения кода во второстепенных фоновых вкладках, а также предоставить интерфейс для блокирования бесконечного зацикливания и снижения приоритета ресурсоёмких скриптов.
Текущий браузерный движок Firefox не может в полной мере задействовать потенциал современных многоядерных систем из-за изначального использования однопоточных схем обработки контента. В частности, при обработке одной страницы однопоточным остается связанный с DOM (Document Object Model) внутренний API, функции формирования содержимого окна, парсинга HTML и выполнения JavaScript. Использование Rust позволяет разбить код DOM и рендеринга на более мелкие подзадачи, которые могут выполняться параллельно и более эффективно использовать ресурсы многоядерных CPU. Кроме эффективного распараллеливания операций, используемые в Rust технологии безопасного программирования позволят кардинально поднять уровень безопасности.
URL: https://blog.nightly.mozilla.org/2017/07/25/stylo-is-ready-f.../
Новость: https://www.opennet.ru/opennews/art.shtml?num=46917
>Использование Rust позволяет разбить код DOM и рендеринга на более мелкие подзадачи bla-bla-blaЯ не пишу на С/СPP, но почему-то уверен, что дело не в языке. Поправьте, если ошибаюсь.
Просто в ржавчине реализация комбинации "многопоточность+безопасность" будет менее трудозатратной, чем написание того же самого на старых-добрых. Тем более, рефакторинг большой кучи легаси кода бывает куда сложнее, чем написание нового с продуманной архитектурой.
> Просто в ржавчине реализация комбинации "многопоточность+безопасность" будет менее трудозатратной,
> чем написание того же самого на старых-добрых. Тем более, рефакторинг большой
> кучи легаси кода бывает куда сложнее, чем написание нового с продуманной
> архитектурой.Я бы поспорил, новое поколение новый косяки
> Я бы поспорил, новое поколение новый косякиНе без этого. Но пройдёт немало времени, чтобы Servo\Stylo сравнялся по косякам со старым движком.
Как писавший на C/C++ могу сказать - конечно на чем-то странном и кривом можно писать замечательные вещи, но лучше выёживаться и использовать инструменты по назначению :-)
Нет, дело в отсутствии в природе программистов, умеющих писать на С/СPP. А сами языки, конечно, ни в чём не виноваты.
Я думаю вообще никаких проблем на C++ сделать параллельное выполнение нет, тут тебе и TPL, и TBB и в новом стандарте параллельные версии стандартных алгоритмов. Здесь скорей всего речь о том чтобы создать новую версию движка сразу с учетом параллельности и тут как раз Rust осваивать надо.
Есть такое понятие как тьюринговая трясина
Практика на C/C++ показывает - если программа изначально не была задумана как многопоточная, то многопоточной ее уже не сделать... только переписывать.По поводу Rust - производительность у него на уровне C/C++, так что вполне хороший вариант. Я бы даже сказал - однозначно лучше java и C#.
Модернизация оформления браузера? Всё, кроме линуха.. Приличная часть экрана идет коту под хвостСамое печальное, что мозилла gives a fuck на пользователей линукса(в багтрекере тянется тред сколько уже лет, чтобы запилили client side decoration).. А самое забавное, что HTitle больше не будет работать с 57.. Класс!
В общем, лучше использовать хром.. Даже хоть будет следить за мной корпорация зла/добра, я "профита" получаю больше
Юзай глобальное меню.
Использую pixelsaver и не парюсь по поводу того расширения.
Вам ~32 пикселя на вкладки и адресную строку жалко? http://joxi.ru/MAjbwRKUvkY6WA
Жалко не 32 пикселя. Жалко, что вкладки не прилегают к верхней кромке экрана. Без этого по ним целиться сложнее.
Вот это уже интересно.
Неужели CSS-движок дает такой выхлоп по скрости и памяти?
А ты внимательно читал? Уверен что "такой" выхлоп как-то связан с CSS?
>(с 2 до 0.5 Гб, без фактической загрузки содержимого всех страниц).Получается в одном из релизов это сломали, теперь починили и выдают за фичу.
Нет, получается 2.0 по нынешним меркам умел чуть меньше, чем ни хрена. Он и ACID 2 то проходить только с версии 3.0 начал. А как известно, самая быстрая программа та, которая ничего не делает. :)
Нет, там реально все проще. Никакого отношения к Серве и прочему стаффу это ускорение не имеет отношения, просто раньше при восстановлении сессий они сразу грузились, а теперь это заменено на "ленивую" загрузку. Судя по багу - никакой особой сложности безумной в этом не было, просто разработчики не сталкивались сами с подобного размера сессиями. Собственно баг - https://bugzilla.mozilla.org/show_bug.cgi?id=1345090 Modify SessionStore to restore tabs with lazy-browsers
Звучит многообещающе, пока сложно сказать, что получится в итоге, но уже точно в конце года это будет другой браузер, и теперь есть надежда, что жертва расширениями будет не напрасной.
Это действительно стоит того. Уделает Хром. И любителям хрома больше нечем будет крыть. Ведь уже нельзя будет сказать, что Firefox якобы тормозит ;)
В отместку за Rust, Google перепишет Chrome на Go. :-D
А а память под сборщик мусора будет выделяться в облаке на сервере гугла, чтобы юзерский пк не перегружать.
Ну, пока нет соответствия стандартам, уделывает. В принципе, любой хелловорлд уделает. Вот когда реализуют цсс3, тогда и поговорим, уделыватель ты наш.
Все ускоряют и ускоряют файерфокс, а он все тормозит и тормозит
Значит это не он, а ты.
> Значит это не он, а ты.Это не файрфокс тормозит. Это просто всё остальное слишком спешит. (С) типикал фф юзер
У меня не тормозит. Как включить тормоза правильно?
> У меня не тормозит. Как включить тормоза правильно?Попользоваться с полгода каким-нибудь ДЕЙСТВИТЕЛЬНО нетормозным приложением, и потом снова запустить Файрфокс. А то сидят на своих Ubuntu/Eclipse/Vuse/GNOME3/KDE5/Emacs, а потом удивляются "Чего это я тормозов не замечаю?".
Я Emacs не пользуюсь и не хочу начинать холивар, но хочу знать как он попал в этот список?
И что будет нетормозной альтернативой?
> потребление памяти снизилось в 4 раза (с 2 до 0.5 Гб, без фактической загрузки содержимого всех страниц).То есть по сути с 2ГБ до 0.5ГБ снизилось потребление памяти на загрузку ОДНОЙ страницы. Отлично.
На подготовку 1.6к вкладок. Какая-то структура данных теперь инициализируется при загрузке страницы, а не в момент создания вкладки. Глядишь, ещё и вычищаться при закрытии вкладки будет не только то, о чём программист вспомнил. Профит по-любому.
Вот этот баг судя судя по всему https://bugzilla.mozilla.org/show_bug.cgi?id=906076
Нет, этот - https://bugzilla.mozilla.org/show_bug.cgi?id=1345090
Ускорение загрузки мегасессий произошло уже давно, просто опеннет берет новости с их блога, а они туда пишут не спеша. Пользователи Nightly уже давно в курсе.
имею пк 2007 года. вин7 х64. 4 гб оперативы. из них 296 метров на данный момент отжирает фаерфокс с единственной вкладкой опеннета. Открываю во 2 вкладке ютуб. отожрал еще 40+ метров(видео НЕпроигрывается.). Открыл 3 вкладку интернет-магазин Никс. + еще 20мб памяти - причем если по магазину лазить потребление фф повышается до 380мб. Запустил видео на ютубе - потребление 398 мб памяти... Открыл анидаб.Онлайн. (ютуб - HTML5- показывает видео))( сайт с анимешками)uBlock режет кучу рекламы... потребление памяти возросло до 470. отключаю видео на ютубе. Включаю флешплеер на анидабе посмотреть аниме - потребление памяти 560 мб. Лагов конечно нет, но... что если я сейчас тупо продублирую эти 4 вкладки? А если я с этими вкладками закрю браузер а потом с ними же открою... ? Лень проверять Но, недалее как вчера я запустил браузер и открылось разом с десяток страниц(это после выключения света) Без флэша но чуть-чуть рекламы... обкновенные форумы запускался он точно не меньше одной минуты. А у моей старой тетушки на ноуте ~2005 гв (1 гб оперативы,винХП) он вообще незапустится даже с этими же 4мя.
Да на пк с 36 гб памяти можно не обращать внимания на отожранные браузером даже 10 гб оперативы. Но! нужно понимать тот факт что он не должен ТАК работать! Если браузер чересчур прожорливый с десятком открытых страниц это явно что кто-то на6ыдлокодил ( и это мягко сказано!)
Вы конечно можете сказать обновляй свой ПК. И зря. ИМХО КАк бы далеко не шагнули ПК вперед(хоть гиперквантовые через 500 лет), сколько бы нистало в них оперативы, а такая простая программа как интернет браузер должна запускаться и стабильно работать На всех устройствах! Да, Даже на старом дедушкином пне!
Кстати да, ооочень хорошо бы ввести нечто вроде ОТК, где бы все программы проверялись на устройствах в несколько раз слабее " минимальных требований" программой. Вот тогда у нас появится действительно КАЧЕСТВЕННЫЙ Софт!
Даже Калькулятор может повесить ваш компьютер при вычеслинии 2+2= ? Если "программист" вместо 4х кб памяти выделил целых 400.
Навсе нужны рассчеты а не тып-ляп-готово.
Доброе утро. Браузер уже относительно давно не такая простая программа.
Ютуб о котором вы говорите напичкан JS по самое не хачу. Магазины в большинстве случаев то же не скупятся на динамику и JS. А браузер превратился из простого рендера в запускалку приложений.
> имею пк 2007 годау меня тоже старый комп, но всё же фаерфокс у меня стабильнее работает, чем хром
а вообще в последнее время пробую иногда на sea monkey сидеть, вот он быстрее и шустрее и фурифокса и хрома
> Наиболее заметным эффектом после включения Stylo отмечается увеличение скорости обработки страниц, так как разные CSS-стили обрабатываются параллельно, не блокируя друг друга.И чё, на C++ нельзя было так сделать?
Конечно нет. Скоро дойдём до того, что надо всё переписать именно на руст, ибо другие языки не умеют в многопоточность и не раскрывают потенциал многоядерных ЦП.
> на C++ нельзя было так сделать?Сделай! Кто-то решил на др. языке и сделал на др. языке. В чём суть претензий? Все должны обязательно на плюсах писать?
В том, что нужно тащить никому не нужный Rust.
> В том, что нужно тащитьТак вы уже запилили альтернативу или только языком молоть, да указывать «как надо правильно!(тм)» горазды?
> никому не нужный Rust.
Это типа плюралис маестетис? Или очередной дeбилис анонимус за всех любителус говорилус?
Rust - это жалкая обвязка вокруг с++ и ничего более.Он делает фактически все, что делает с++ плюс некоторые хотелки мозиловцев.
>> Это типа плюралис маестетис? Или очередной дeбилис анонимус за всех любителус говорилус?
> Rust - это жалкая обвязка вокруг с++ и ничего более.Значит, второе плюс "анонимус экспертус диванус опеннетус".
Спасибо за ответ!
> Rust - это жалкая обвязка вокруг с++ и ничего более.С тем же успехом Вы можете доказывать, что C++ - это жалкая обвязка вокруг ассемблера и ничего более.
А вы правы)) Если в имени макросов посередине использовать точку, то получаются отличные методы и поля объектов ))
С недавних пор Nightly жрёт CPU как AAA-игрушка. Печально.
А будет жрать еще круче — для того он и параллелится. И не понимаю отличий от ААА игрух — браузер это адская рендерилка чего попало, как раз как те самые магические ААА тайтлы.
Safari мультипроцессорный, но такой нагрузки от него нету. А с Nightly ноутбук превращается в печку.
> Тестирование бета-версии Firefox 55 показало существенное ускорение работы со вкладками и сокращение времени запуска.
> Тестирование проводилось с профилем, содержащим 1691 (!) вкладку.Ну вот и настало моё время!
http://i.imgur.com/QedeZxi.png
Достойные показатели, товарищ!
когда лиса уже займется оптимизацией энергопотребления но ноутбуках при работе от батареи???? а то 40 минут фильма разряжают батарею в 4200 mAh от 100% в ноль((( уродство и только((((((((
а надо через торренты заранее скачать и смотреть без зон^Wбраузера
> а надо через торренты заранее скачать и смотреть без зон^Wбраузерану как в нулевых
В нулевых классно.
Видимо я живу в нулевых ибо всегда так делаю.1) На торрентах легче найти фильм в хорошем качестве.
Нафиг ваши шакалистые 480p фильмы.2) Качество твоего соединения с интернетом, а так же загруженность всего канала до целевого сервера никак не влияет на просмотр локального файла, в отличии от браузера...
Не хочу заиканий и подгрузки посреди фильма (при том что скорость инета достаточная).3) Можно открыть фильм в своём любимом плеере, а не довольствоваться огрызком который показывается на сайте.
4) Если фильм популярный, то можно начать его смотреть почти сразу после начала скачивания, не дожидаясь окончания (только надо включить последовательную загрузку в торрент-клиенте).
> Видимо я живу в нулевых ибо всегда так делаю.
> 1) ... в хорошем качестве.
> 2) ... соединения с интернетом ... загруженность канала ...
> 3) ... в своём любимом плеере ...Да это всё фигня, по сравнению с качественным переводом, который в бесплатных интернет-кинотеатрах не найдёшь днём с огнём. У них цель-то простая: больше, больше, БОЛЬШЕ контента! Пихай всё подряд и как можно скорее, не то хомячки сбегут на другой ресурс!!!
После этого случаются такие вещи: есть несколько переводов, AVO, DVO, MVO, DUB. Они будут выбирать справа-налево. Если выбор между MVO и DUB, они выбирают DUB без лишних вопросов. Между MVO и DVO/AVO они выбирают MVO. Всегда. Если есть несколько переводов MVO, и нет DUB... Не знаю, как оно на самом деле, но лично мне кажется, что они то ли монетку бросают, но в общем случайным образом выбирают озвучку.
Однако я знаю массу случаев, когда стоило поступать иначе. Например "Hackers" 95го года отвратительны в дубляже, и лучше бы брать перевод MVO от НТВ. Вперёд, найдите хоть где-нибудь стрим с этим фильмом *не в дубляже*. Не выйдет, я пытался. Или вот для "Evil Dead 2" лучше бы тоже брать AVO от Михалёва. Он слегка гонит отсебятину, но без неё фильм не так уж и хорош.
А то тут ещё некоторые спрашивают "зачем иметь локальную коллекцию фильмов, ведь ВСЁ можно посмотреть прямо на сайте"! Не вопрос, ребятки. Нравится вам хавать, что дают -- вот и хавайте, а у меня свои привычки при просмотре кино.
YouTube тоже предварительно выкачивать предложишь?
> YouTube тоже предварительно выкачивать предложишь?Не обязательно, ибо:
1) Качество такое какое поставил автор видео, лучше всё равно нету (говорю прежде всего про оригинальный контент).
2) У гугла довольно много CDN по всему земному шару и у меня по крайней мере с ними проблем особо нет.
3) При желании можно смотреть ютуб в своём плеере, я так делал на одной слабой машинке, которая не тянула ютуб через flash/html5.
Классно рофлишь.>Качество такое какое поставил автор видео, лучше всё равно нету
Полным полно каналов, чьи видео за пределами ютьюба не появляются.
>У гугла довольно много CDN по всему земному шару
Какое отношение имеют CDN к потреблению ресурсов _браузером_?
>При желании можно смотреть ютуб в своём плеере, я так делал на одной слабой машинке, которая не тянула ютуб через flash/html5
Проблема выжирания аккумулятора - это FF-only. Все остальные браузеры с воспроизведением видео справляются, не превращая ноутбук в привязанную к розетке сковородку, несмотря на пачку зондов, которым надо работать 24/7.