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)

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

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

То я полезу в настройки хоткеев.

то тебе надо переключаться в плеер

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

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

Есть аддон для ФФ, который такое делает. Как-то его тыкал. Да, с «заморозкой» вкладок работает чуть-чуть шустрее, но постоянное обновление страниц при возвращении к ним дико напрягает.

В Опере есть режим «экономии батареи». Где вообще никакой видимой задержки нет при переключении на фоновые табы. А браузер разгружается очень сильно. Я теперь в этом режиме всегда сижу, на любом десктопе :)

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

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

А ещё музыку можно слушать в плеере.

Годится только когда одна машина. Когда начинается перепрыгивание между 4-5 десктопами, как Linux, так и Windows + коммуникатор, то вопрос синхронизации музыки (и не только) становится злободневным :)

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

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

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

95% сайтов тормозят даже в хроме из-за решения задач уровня движения снежинок

И у тебя, конечно же, есть ссылки на исследования, подтверждающие эту цифру?

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

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

Пользователь хромобука? Сочувствую.

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

А теперь все, жизнь кончена, кому надо это говно...

Хорошо, что ты это сам понял.

как вытянуть картинку из pdf и как скопировать оттуда текст

Ты сам себе ответил — фотошоп под вайн.

Если очень хочется, то пили нормальное десктопное приложение, а не веб-гуано.

joxi.ru

Ты издеваешься?!

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

Но ты не посмеешь признать, что не прав

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

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

Пользователь миллиона свистелок-перделок и триллиона индикаторов коньков на рабочем столе? Сочувствую. Не пользователь хромбука, но ничего против него не имею. Вполне подходящий вариант для обычного пользователя.

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

У тебя есть хоткей на смену Киркорова на Бритни Спирс. Но сейчас ты захочешь послушать Меладзе. Иди пиши новый конфиг для хоткеев.

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

У тебя есть хоткей на смену Киркорова на Бритни Спирс. Но сейчас ты захочешь послушать Меладзе. Иди пиши новый конфиг для хоткеев.

Зачем? Файлопомойка — Музыка — Меладзе — ПКМ — Воспроизвести всё.

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

Пользователь миллиона свистелок-перделок и триллиона индикаторов коньков на рабочем столе?

Нет.

Сочувствую

Незачем, я не страдаю.

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

Веб приложения делать в сто раз проще и быстрее. Они кроссплатформенные из коробки. Их не надо устанавливать и обновлять, места не просят. Сайт в закладку добавить и открыть быстрее, чем вайн Фотошоп.

А вебасамбли - начало новой эры

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

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

Веб приложения делать в сто раз проще и быстрее. Они кроссплатформенные из коробки

Поржал.

h578b1bde ★☆
()

а зачем, кстати, содержимое в фоновых вкладках грузится при открытии браузера?

надо сделать загрузку при активации, а так из кэша минимум показывать. а то задолбало.

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

Кстати, отличный плеер! Весит мало, места занимает мало, батарейки хватает дольше, чем меня по пересечённой местности бегать. Дешёвый. Упал на него или утопил — не жалко. Аудиофилы, правда, негодуют, там безкислородной меди мало и на классике их не прогревают.

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

Так ты еще и музыку локально держишь. Пойду я в свой 21 век лучше.

Давай вали вводить свои зонды. Приходи когда по „жалобе правообладателей” твою коллекцию хитов Меладзе опять снесут, может быть я тебе даже посочувствую опять.

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

Быстрее скачивай весь интернет, а то мои правообладатели не дадут тебе наполнить свою файлопомойку моей коллекцией хитов Меладзе.

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

мои правообладатели не дадут тебе наполнить свою файлопомойку моей коллекцией хитов Меладзе

Твои правообладатели могут пройти мимо, ибо твоя коллекция хитов Меладзе мне не нужна.

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

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

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

Web Workers никто не запрещал.

То ли еще будет.

В 2018 году планируется разработать и внедрить ограничения для Web Workers, предварительно изучив их влияние на потребление энергии.

https://github.com/nodeca/tabex - эта хрень у меня используется, чтобы не держать вебсокеты из каждой вкладки. Пичалька если навернется.

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

правообладатели, которых ты так боишься

Правообладателей бояться — хиты Меладзе не качать.

h578b1bde ★☆
()

Вот из-за такого я и пользуюсь старой версией хрома 41

w1nner ★★★★★
()

Проблема в жабабыдлокодерах. Заморозка вкладок костыль и ничего более. Так можно и до однозадачности скатится, как было в старых смартфонах.

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

Они просто стремятся к замене web workers на service workers.

anonymous
()

Сколько буков.

Надеюсь, это будет отключаемым?

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

И чем данный путь принципиально отличается от веб приложения?

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

h578b1bde ★☆
()

Не понял, а если я на youtube слушаю программу, а сам сижу в другой вкладке, то все, хрен мне, а не прослушивание?

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

Ах да, и воспроизведение музыки при этом никак не зависит от затыков браузера.

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

содержимое в фоновых вкладках грузится при открытии браузера?

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

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

Тем что я могу рулить плеером с помощью клавиатуры, не переключаясь с текущего активного приложения

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

и слушать музыку в любое удобное для меня время вне зависимости от наличия интернетов и хотелок всяких левых дядь.

Если речь идёт про онлайн радио, то и это становится ложью.

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

Не можешь

Ложь.

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

Это редкие действия, но и их тоже есть возможность настроить, в отличие от.

Для браузера уже предоставили на лоре плагин повзоляющий ставить на паузу

Оно только паузу умеет? С моей мультимедийной клавиатурой работать конечно же не будет? При следующем обновлении браузера как обычно отвалится, да?

Если речь идёт про онлайн радио, то и это становится ложью.

Нет, лживый шланг — это ты.

h578b1bde ★☆
()

Почему бы просто и сразу не выкинуть WebAssembly и JavaScript ?

Потребление памяти и батарейки сразу станет норм.

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

В Опере есть режим «экономии батареи». Где вообще никакой видимой задержки нет при переключении на фоновые табы.

Скролл как кусок того самого становится

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

Это нужно было делать сразу. Начиная с хтмл чтоб только стрикт. От малейшего символа не в том месте — не хотеть работать, а выплюнуть трейс, няхай разбирается.

deep-purple ★★★★★
()
Ответ на: комментарий от legolegs

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

deep-purple ★★★★★
()
Ответ на: комментарий от pftBest

requestAnimationFrame вместо setTimeout давно уже так работает и сам, без хромых идей.

deep-purple ★★★★★
()
Ответ на: комментарий от fornlr

Скролл как кусок того самого становится

Где? o_O

На текущий таб режим не влияет (по крайней мере у меня). А фоновые — как их скроллить? :)

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

Зачем слушать музыку с сайтов?

а откуда её слушать? есть у меня хард 100 гигов mp3, валяется в ящике стола

с сайта удобнее

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

Где? o_O

Везде. При скролле низкий FPS - это заметно. Проверял и на линуксе и macOS

Очень легко заметно, если есть черный прямоугольник на белой странице

fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 2)
Ответ на: комментарий от NextGenenration

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

У меня в плеере плейлисты, я могу по хоткею переключаться между сохраненными плейлистами не вызывая окошко плеера. При надобности окошко плеера вызывается так же по хоткею, добавить / удалить треки можно гораздо быстрее чем в браузере. Онлайн радио плеер забирает из icecast. Комбайны типа амарока/мандаринки умеют играть музыку из втентакля и прочей веб помойки. При этом имеем адекватный интерфейс проигрывателя, который не зависит от желания владельца веб помойки.

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

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

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