LINUX.ORG.RU

Разработчики Chrome намерены перейти к полной остановке выполнения фоновых вкладок, а также дальнейшие планы Google на Google Chrome

 ,


2

4

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

Первым шагом стала реализация в Chrome 57 расширенного механизма приостановки генерации событий таймера для фоновых вкладок. Если ранее генерация событий таймера для активации обработчиков в фоновых вкладках снижалась до одного запуска в секунду, то в Chrome 57 применены новые правила, которые дополнительно приостанавливают таймер, если фоновое web-приложение потребляет достаточно много ресурсов CPU. Задержка события от таймера выбирается с расчётом, чтобы общая нагрузка на CPU от фоновой вкладки не превышала 1%.

В частности, каждой фоновой вкладке теперь выделяется определённый бюджет времени в секундах, который расходуется на запуск таймеров. При каждом запуске таймера из бюджета вычитается процессорное время, потраченное на выполнение обработчика. При этом бюджет также непрерывно пополняется на 0.01 в секунду (значение можно изменить в настройках). Как только бюджет примет отрицательное значение, вызов обработчиков по таймеру прекращается.

Ограничение начитает применяться не сразу, а через 10 секунд после нахождения вкладки в фоне (даётся время на инициализацию вкладок, сразу открываемых в фоне). Ограничение также не распространяется на фоновые вкладки, в которых используется API для воспроизведения звука, WebSockets или WebRTC. Для выполнения таких задач как обработка push-уведомлений и перерисовка заголовка страницы или картинки favicon, предлагается использовать Service Workers. Для пользователя предусмотрена возможность отключения урезания активности фоновых вкладок через запуск браузера с опцией --disable-background-timer-throttling.

Эксперименты показали, что внедрённый метод на 25 % снижает нагрузку от фоновых вкладок, интенсивно нагружающих процессор. По мнению разработчиков, данный показатель можно значительно улучшить, так как по предварительной оценке фоновые вкладки потребляют почти треть всех расходуемых браузером ресурсов CPU. Для большего снижения нагрузки web-разработчикам рекомендуется использовать Page visibility API для отключения лишних работ, таких как перерисовка содержимого, в то время, когда страница находится в фоне.

В идеале разработчики намерены в будущем перейти к полной остановке фоновых вкладок с выносом всех фоновых работ на обработчики, использующие API Service Workers, вместо привязки к активации по таймеру. Подобный подход позволит существенно снизить энергопотребление, что положительно скажется на времени работы портативных устройств в автономном режиме, сохранив при этом возможность выполнения фоновых обработчиков. Кроме того, при полной остановке вкладок становится возможным реализация дополнительных техник оптимизации, например, можно высвобождать занятую неактивными вкладками память.

План дальнейшего развития инициативы:

  • Во втором квартале 2017 года планируется реализовать серию опций, предоставляющих разработчикам web-приложений средства для отключения агрессивного урезания активности фоновых вкладок, на время пока не будет завершена работа над API для обеспечения фоновых работ.
  • Во втором квартале 2017 года планируется по умолчанию останавливать все фоновые задачи на мобильных устройствах. В настоящее время генерация событий таймера прекращается, если задача находятся в фоне более 5 минут. Для продления автономной работы и блокирования лишнего трафика планируется блокировать все фоновые задачи.
  • Во втором квартале 2017 года планируется ввести ограничения для фоновых задач, активируемых не по таймеру. В настоящее время ограничения действуют только на задачи, вызываемые через таймер и не распространяются на задачи, манипулирующие загрузкой данных. Планируется разработать методы блокировки и для задач, выполняющих загрузку данных, при этом предоставив средства для корректной начальной загрузки страниц в фоновых вкладках.
  • В третьем квартале 2017 года вышеописанная система на основе расходования лимитированного бюджета будет распространена на компоненты, связанные с частями страницы, не попадающими в видимую область экрана.
  • В 2018 году планируется разработать и внедрить ограничения для Web Workers, предварительно изучив их влияние на потребление энергии.
  • На 2018 год намечен переход к полной остановке всех фоновых вкладок после N минут нахождения в фоне. Разработчикам web-приложений будет предоставлен обходной путь для выборочного отключения ограничения.
  • В 2020 году или позднее разработчики Chrome намерены убрать опцию для продолжения работы в фоне в обход ограничений. Все фоновые страницы будут останавливаться без обходных вариантов. Данная стадия будет воплощена в жизнь только после создания API, учитывающего все потребности в выполнении фоновых работ, а также после предоставления значительного времени на внедрение данного API.

Перевод взят с opennet.ru.

>>> Источник (блог Google)



Проверено: Aceler ()
Последнее исправление: sudopacman (всего исправлений: 4)

Ответ на: комментарий от vblats

техподдержке банков, чатам на фрилансерах.ком, и тд итп

Как будто их мнение кто-то будет спрашивать.

h578b1bde ★☆
()
Ответ на: комментарий от NextGenenration

Вот именно поэтому я и слушаю с Google Music - лень скачивать.

cipher ★★★★★
()
Ответ на: комментарий от h578b1bde

Какой ещё тестовый? Я ж написал, это и есть хром, только без шпионов и открытый. Тестовые у них версии - dev, beta. Казалось бы, версий хватит, но ещё есть chrome canary специально для тестов.

Romaboy
()

Говнокодеры гугла сами себе проблемы создают, сами их и «решают».

anonymous
()
Ответ на: комментарий от Romaboy

Какой ещё тестовый?

Разработчики Google объяснили создание открытого и свободного проекта Chromium стремлением помочь Mozilla и WebKit, развивать Интернет и веб-технологии, предоставить разработчикам удобную платформу для создания и развития собственных проектов, а также возможностью протестировать свои собственные продукты силами сообщества.


Я ж написал, это и есть хром, только без шпионов

Позднее Chromium стал объектом скандала, возникшего после выявления российским программистом Алексеем Ужвой доказательств того, что браузер, вопреки заявлениям Google, совершает недокументированные запросы на серверы Google. Разработчики признали дефект, объявили, что это ошибка, и удалили все следящие элементы.

Интересно, кто-нибудь из параноиков после этого изменения в сорцах хромогиума мониторит?


Тестовые у них версии - dev, beta. Казалось бы, версий хватит, но ещё есть chrome canary специально для тестов.

Ꙑнтырпрайз же.

h578b1bde ★☆
()
Ответ на: комментарий от te111011010

Почему за меня кто-то должен решать, как мне удобно?

Потому что всегда так было. И ещё тебе никто ничего не должен.

h578b1bde ★☆
()
Ответ на: комментарий от Romaboy

А chrome это другая иконка и плюс пара мелочей вроде шпионов и ещё не знаю чего

Спешу успокоить, в открытом хромиуме зонды от гуголя тоже присутствуют. Хорошо что хоть выпиливаются. С трудом.

DawnCaster ★★
()
Ответ на: комментарий от tentakle

костыли в виде плееров

Тут скорее костыли в виде браузеров. Когда управление воспроизведением по хоткеям туда завезут, тогда и поговорим. А так, надо искать в какой вкладке играет музыка, дабы поставить паузу или переключить трек. Бесит лишняя возня мышью для выполнения действия, которое в плеере делается не убирая руки с клавиатуры

Karrham
()

обработка push-уведомлений и перерисовка заголовка страницы или картинки favicon, предлагается использовать Service Workers

Они поехали?

ritsufag ★★★★★
()

Вэб стал джоппой и все мы там сидим

mos ★★☆☆☆
()
Ответ на: комментарий от h578b1bde

Ладно, пусть будет хром, мне просто казалось, что разработка производится в хромиуме и потом идет в его родню, а не chrome -> chromium -> хренотень от разных компаний, может и так.

Romaboy
()
Ответ на: комментарий от Karrham

Тут скорее костыли в виде браузеров. Когда управление воспроизведением по хоткеям туда завезут, тогда и поговорим.

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

h578b1bde ★☆
()
Ответ на: комментарий от legolegs

Нет. Ну, можно и так, особенно если программист особо ленив, но вообще-то это не обязательно.

Что нет?
Есть кнопка. На ней есть отцентрированный по вертикали текст. Видна только нижняя половина кнопки с нижней частью текста. Ваши действия, НЕленивый программист?

andreyu ★★★★★
()

Edge не останавливает фоновые вкладки, при этом нормально работает, и жрет мало ресурсов.

Do it wrong!

vblats
()
Ответ на: комментарий от anonymous

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

Romaboy
()
Ответ на: комментарий от Romaboy

отсюда и столько ненависти к отличному браузеру
отличному браузеру
Верстку под фф надо специально переделывать
не под эджь
не под сафари

Чё-то как-то толсто.

awesomebuntu
()
Ответ на: комментарий от Romaboy

доверять закрытому ПО линуксоид никак не может

Ты все исходники актуального хромогиума уже перечитал?

нашел - гугл назовет это «дефектом»

Кто бы сомневался.

h578b1bde ★☆
()
Ответ на: комментарий от Romaboy

немного не так понял, chromium (google) =>> chrome (google) chromium (google) =>> хренотень от разных компаний (с гугл шпийонами) так то лучше будет))

anonymous
()
Ответ на: комментарий от awesomebuntu

Я сам в шоке, честное слово, постоянно баги верстки именно из фф присылают. Например, когда нужно position: static внутри чего-то с relative, фф это делает совсем иначе, чем другие. И в js логике время от времени сталкиваюсь, все идут по одному пути, фф по своему, этакий преемник ныне покойного, царство ему подземное, ie. Примеров на стековерфлёу куча.

Romaboy
()
Ответ на: комментарий от kalterfive

Для >50 ничего и не поменяется

anonymous
()
Ответ на: комментарий от Romaboy

этакий преемник ныне покойного, царство ему подземное, ie

АХАХАХАХАХА, СУКА, Я ПОД СТОЛОМ

постоянно баги верстки именно из фф присылают

АХАХАХАХАХА

awesomebuntu
()
Ответ на: комментарий от Romaboy

Я сам в шоке, честное слово, постоянно баги верстки именно из фф присылают.

И с чего ты взял что неправильно делает именно жирнолис, а не твой хромог под который ты верстаешь?

h578b1bde ★☆
()

Очень хорошая новость, давно пора! Одно смущает - хром это зонд!

Ygor ★★★★★
()
Ответ на: комментарий от h578b1bde

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

Romaboy
()
Ответ на: комментарий от Romaboy

Субьективно

Как там выше написали? DOING IT WRONG?

Ты не тролль, ты просто неадекват.

верстаю не в нем, а смотрят, негодники, в нем

LOLWUT?!

awesomebuntu
()
Ответ на: комментарий от h578b1bde

Ориентируюсь по caniuse, а не по одной отельно взятой фиче

Romaboy
()
Ответ на: комментарий от Shadow

Хочется ответить фразой, которую Задорнов сказал про американцев, а потом отрицал то, что это говорил.

Объясняю для танкистов.

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

te111011010
()
Ответ на: комментарий от awesomebuntu

Ладно, пример в студию. Делал довольно классный парсер psd, загружаешь psd, выдает тебе слои, на слоях кнопочка «скачать», намного удобнее, чем в фотошоп залезать.

a = document.createElement 'a'
a.href = 'data:image/png;длинный сгенерированный uri для png'
a.download = 'Слой 123'
a.click()
Что делает фф? Тупо ничего. Разве так и должно быть? И что тут do it wrongowogo?

Romaboy
()
Ответ на: комментарий от Romaboy

Что делает фф? Тупо ничего.

Пруфы? Слишком уж похоже на ЛПП/врожденное рукожопие

Делал довольно классный парсер psd,

Зачем нужно это говно?

намного удобнее, чем в фотошоп залезать

Ога.

awesomebuntu
()
Ответ на: комментарий от as_lan

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

это невозможно

autonomous ★★★★★
()
Ответ на: комментарий от h578b1bde

Это тебе сравнение с твоим любимым управлением с клавиатуры. Если ты захочешь от плеера что-то больше, чем просто вперед-плей/стоп-назад, то тебе надо переключаться в плеер.

tentakle
()
Ответ на: комментарий от andreyu

Даже если виден один пиксель виджета, то операция по перерисовке будет применена ко всему виджету (к примеру отрисуется вся кнопка и весь текст на ней), после чего будет применен clamp/scissor и блитнется уже только видимая часть фреймбуфера виджета.

В Gtk3 не так. В gtk_widget_draw будет передан Cairo context с, кроме всего прочего, зоной видимости. Этот контекст будет проброшен в самый низ, в каждый метод Cairo, которые рисуют примитивы. И, если Cairo увидит, что нужно нарисовать половину линии/прямоугольника/etc, будет отрисована только половина.
Другое дело, вопрос: со всеми этими double buffer, модными preview окон, доходит ли до gtk эта инфа.

Tayler ★★
()
Ответ на: комментарий от awesomebuntu

Пруф - блин, ну код, копируешь в консольку и все, но эй! Ничеси зачем нужно это говно, вот теперь бери и отвечай: как вытянуть картинку из pdf и как скопировать оттуда текст? Есть фотошоп под вайн и гимп, гимп эм, лучше фотошоп под вайн. Из него вытаскивать отдельную картинку проблемно, ну правда, создавать что-то, какие-то танцы с бубном ради одного слоя. А текст у меня там вообще не копируется. И вот моя поделка: http://joxi.ru/BA0nLNYsJwXpbm жмешь себе на слой, открывается справа текст, и шрифты какие, и цвета какие у текста. http://joxi.ru/KAxdvNkuMqjvqA.png жмешь такой на кнопочку - хоп, слой скачивается. Думал выложить это на хероку на форуме каком-нибудь ссылку оставить, мол нате люди, пригодится! А теперь все, жизнь кончена, кому надо это говно...

Romaboy
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.