Архивы для 18.07.2014

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

Заранее извиняемся за заголовок, но именно с такой формулировкой эта история ворвалась к нам с легкой руки журналистов 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. Админу Хром.рф в пятницу вечером совсем нечего делать и он пишет вот эту статью.

Первая бета Google Chrome 37

Стала доступна первая бета-версия Google Chrome 37, в которой нас ждут новые шрифты и некоторые другие изменения, включая те, которые пока не удается найти.

Первая бета Google Chrome 37

В Google Chrome 37 для Windows включили технологию DirectWrite для отрисовки и сглаживания шрифтов вместо уже устаревшей GDI. На картинке сверху вы видите пример от самих разработчиков. А на картинке ниже уже наш пример.

direct write

На первой картинке шрифт с DirectWrite стал более четкий. Зато в нашем примере он наоборот потускнел и постоянно вызывает желание протереть монитор от пыли. Это желание, конечно, очень полезное, но немного раздражает. В общем, предсказываем большое количество обращений в поддержку с жалобами на мутные сглаженные шрифты.

Продолжаем в тему шрифтов. Версия для Windows теперь по умолчанию для шрифтов семейства monospace использует Consolas вместо Courier New. А еще стали поддерживать субпиксельное масштабирование шрифтов.

Переходим к Chrome Web Store. Кажется, теперь для установки приложений больше не нужно обязательно авторизовываться через гугловскую учетку. Напомним, что раньше установить расширения мог любой пользователь Хрома и совершенно свободно, а вот для установки приложений требовалось ввести логин и пароль от Google. Теперь объявили, что будет проще.

Браузер теперь поддерживает новый HTML-тег <dialog>. Пример есть вот тут. Одновременно с этим прекращается поддержка showModalDialog().

По умолчанию включили поддержку Web Cryptography API.

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

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

Есть тут пользователи беты? Что в ней заметили вы?

А все остальные могут пообсуждать, например, прекрасные новые шрифты ;)

Google Chrome 38.0.2096.0 Dev

Вот и вышла новая Dev-версия, в которой можно начинать искать новые эксперименты и изменения. Если вы что-то нашли в сборке 38.0.2096.0, то пишите об этом в комментариях. Это первая сборка под номером 38 версии, поэтому в ней будет очень трудно найти отличия от 37.

Bing представил форму запроса для реализации «Права быть забытым»

Поисковая система Bing запустила форму запроса для граждан Европейского Союза, призванную реализовать их «Право быть забытым». Форма содержит всю необходимую информацию для принятия решения об удалении ссылок с именем пользователя из поисковой выдачи.

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

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

Форма запроса Bing, доступная на специальной странице имеет некоторые отличия от аналогичной формы запроса Google, появившейся в конце мая текущего года.