История о том, как Хром «убивает» ваш аккумулятор

Заранее извиняемся за заголовок, но именно с такой формулировкой эта история ворвалась к нам с легкой руки журналистов Forbes, которые на самом деле сделали то, что было не под силу пользователям в течение нескольких лет. А теперь подробнее о проблеме в Google Chrome и ее истории.

dos

Что такое tick rate?

Есть в операционной системе Windows такой параметр как system clock tick rate. Он определяет с какой частотой система выходит из «простоя» и отслеживает события. Например, по умолчанию параметр равен 15,625 мс. Т.е. каждые 15 мс (или, по другому говоря, 64 раза в секунду) система «просыпается». Очевидно, что чем чаще это происходит, тем больше на это нужно ресурсов и энергии, но в ряде случаев это имеет смысл делать, чтобы добиться большей точности, плавности, например, при просмотре видео. Поэтому программы имеют возможность изменять этот параметр (причем переключается он глобально для всей системы), но должны делать это гибко и возвращаться к прежнему показателю после завершения задач.

А чем не угодил Chrome?

А тем, что браузер Google Chrome вполне успешно присваивает этому параметру значение 1 мс (т.е. 1000 раз в секунду «будит» систему), но совершенно забывает возвращаться к исходному состоянию. В результате при запущенном браузере вся система начинает потреблять как минимум на 25% больше энергии (согласно Microsoft), что, конечно же, не сильно радует владельцев ноутбуков, у которых, как известно, аккумуляторы не резиновые.

А теперь немного истории

Проблема эта знакома разработчикам браузера практически с момента его появления в 2008 году. А начиналось все с решения уйти от 15 мс, потому что это очень медленно и не современно.

Windows timers by default will only fire with a period of ~15ms. While processor speeds have increased from 500Mhz to 3Ghz over the past 15 years, the default timer resolution has not changed.  And at 3GHz,15ms is an eternity.

И понять их можно. На современном десктопе с достаточно мощным железом браузер, который уже успел превратиться из программы для отображения текстовых страниц с гиперссылками в средство для запуска сервисов, игр и приложений, не мог развернуться в полную силу. Чем быстрее срабатывают таймеры, тем быстрее выполняется те или иные задачи, например, сортировка текста. Вот вам визуальная демка сего процесса.

Именно тогда разработчики познакомились с системной функцией timeBeginPeriod(), которая и позволяет программам уменьшать период вплоть до 1 мс. К сожалению, тут были свои недостатки:

  • Этот параметр изменялся для всех программ и процессов в системе.
  • А еще это влияло на способность системы уходить в спящий режим с низким потреблением энергии.

Взглянув на эти минусы, разработчики чуть было не плюнули на все это дело, но спас их плагин Adobe Flash Player, который, как оказалось, уже давно использует именно этот способ для повышения частоты, равно как и другие плагины, например, Windows Media Player или QuickTime. Именно их успешный пример позволил отбросить все страхи и включить 1 мс по умолчанию в браузере Chrome…

Вот только потом оказалось, что на некоторых сайтах это вызывает проблемы. Например, на сайте мало кому известной газеты NewYork Times это изменение вступало в конфликт с одним js-файлом. Поэтому пришлось искать решение проблемы и его нашли в том, что умерили свои аппетиты и вместо 1 мс стали менять параметр на 4 мс. Что, кстати, тоже показало хорошие результаты в сравнении с отправной точкой. Вот результаты той самой демки, ссылку на которую давали выше.

clock_thumb1

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

Но кажется, кто-то где-то что-то забыл…

Уже в 2010 году появляются сообщения о том, что Google Chrome непозволительно много потребляет энергии при работе на ноутбуке. А в 2012 году создается репорт, который подтверждается разработчиками в том же году, но благополучно забывается до июля 2014 года, когда статья журналиста Forbes привлекает к проблеме внимание всего мирового сообщества. И в тот же день баг-репорт берут в работу и повышают ему приоритет.

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

Какие выводы можно сделать после прочтения?

1. За каждым технологическим достижением скрывается потенциально обиженный журналист Forbes.

2. Ничто так не повышает приоритеты, как широкая публичная огласка.

3. Админу Хром.рф в пятницу вечером совсем нечего делать и он пишет вот эту статью.

 

1 star2 star3 star4 star5 star (ОЦЕНИТЬ!)
Загрузка...
Прочее
Комментировать!

Вам понравится

Покупка элитной недвижимости в Испании – шаг в пользу качественного отдыха в раз... Барселона – один из наиболее популярных городов Испании, пользующийся вниманием не только среди туристов, но и среди зарубежных инвесторов. Интересуют последних квартиры, а роскошн...
Сенсорные панели в быту и промышленности Сенсорная панель - средство контроля курсора. Благодаря ей имеется возможность отказаться от мыши и клавиатуры. Управление интерфейсом панели осуществляется прикосновением к ней не...
Необходимость утилизации техники Даже при самом бережном использовании практически любое оборудование периодически требует замены вследствие его непригодности к дальнейшему использованию из-за поломок или устарева...
Как найти свой идеальный смартфон? Советы экспертов... На сегодняшний день в нашу жизнь плотно вошли разные гаджеты, невозможно представить себя без смартфона с большим сенсорным экраном. Эти устройства обладают рядом важных функций, к...
Как работает беспроводная зарядка и какую выбрать для iPhone 8 или iPhone X?... iPhone 8 уже в продаже, а iPhone X уже совсем скоро появится на прилавках магазинов. У новых телефонов стеклянные задние панели, которые впервые имею беспроводную зарядку. Несмотря...
3D моделирование: художественное и техническое... Просматривая, к примеру, этот сайт, у пользователя может возникнуть вопрос, для чего именно может пригодиться 3D моделирование… Ответ дать не так-то просто, так как сегодня сфера э...