Время работы от аккумулятора улучшилось с Microsoft Edge
Наверняка вы заметили, что в последнее время разработчики Microsoft Edge и других популярных браузеров сосредоточили свое внимание на продлении времени работы устройств от их аккумуляторов. Мы уделили этому особое внимание при работе над Windows 10, и результат не заставил себя ждать. Пользователи Windows проводят более половины времени своей работы с этой ОС в Интернете, поэтому внесенные улучшения сильно повлияли на время работы устройства от своего аккумулятора.
Мы стремимся предоставить вам самый лучший, быстрый и эффективный браузер, какой только возможно создать. В этой статье мы расскажем о новых улучшениях в области энергоэффективности, реализованных в версии Windows 10 Creators Update.
https://www.youtube.com/watch?v=2wOz9MuwERs
Сравнение последних версий основных браузеров для Windows показывает неизменность тенденций предыдущих выпусков. Тестирование Windows 10 Creators Update с применением тестов с открытым кодом, которые моделируют обычное поведение пользователя в Интернете с браузером со множественными вкладками, показало, что Microsoft Edge потребляет до 31% меньше энергии, чем Google Chrome, и до 44% меньше, чем Mozilla Firefox.
Прямые измерения среднего энергопотребления во время типичных сеансов просмотра веб-страниц (исходный код).
Познакомимся с некоторыми особенностями того, как мы измеряли энергопотребление для оптимизации времени работы от аккумулятора, а также с тем, что мы предпринимаем, чтобы сделать Microsoft Edge самым экономичным браузером для Windows 10.
Основы нашего подхода: открытость, прозрачность и воспроизводимость
Измерение и увеличение времени работы от аккумулятора — задачи непростые, и хотя мы и стремимся продемонстрировать наше лидерство в этой области, мы также хотим участвовать в конструктивном диалоге, направленном на совершенствование Интернета в целом. Именно поэтому мы всегда делимся нашими измерениями и записями тестов продолжительности работы от аккумулятора, а также результатами свободно доступных на GitHub тестов с открытым кодом. Эти тесты можно повторить на других браузерах, а заинтересованные пользователи могут их получить, воспользовавшись документами по методологии и открытым исходным кодом.
Один из самых важных инструментов, используемых для реализации экономичности, — тест BrowserEfficiencyTest. Он автоматизирует самые важные задачи, выполняемые пользователями браузеров, и в процессе выполнения этих задач измеряет потребление энергии устройством, а также нагрузку на процессор, объем пересылаемых по сети данных и многие другие показатели. Этот тест можно применять для анализа работы с определенными сайтами или конкретных схем работы пользователей, а также для измерения сложных рабочих нагрузок, охватывающих множество различных сайтов на многих вкладках. Этот тест поддерживается как в Microsoft Edge, так и в Google Chrome и Mozilla Firefox, что позволяет сравнивать результаты разных браузеров во времени.
Наши ноутбуки, настроенные для прямого измерения энергопотребления, по циклу выполняют браузерный тест в лаборатории измерения производительности.
Использование открытого теста также позволило нам теснее взаимодействовать с партнерами в процессе работы над повышением удобства использования наших систем. В процессе работы над Windows 10 Creators Update мы сотрудничали с командами, работающими над оборудованием, в частности с командами Surface и Intel, пытаясь понять, что происходит на аппаратном уровне во время просмотра веб-страниц. Конструируя программное обеспечение и оборудование с расчетом на максимальную согласованность их работы, мы смогли сделать устройства, которые работают еще быстрее и дольше от одного заряда аккумулятора.
Повышение продолжительности работы от аккумулятора в Windows 10 Creators Update
Улучшения EdgeHTML 15 были направлены не только на снижение энергопотребления в Microsoft Edge, но и для повышения единообразия. На приведенном ниже графике показан 90-й процентиль энергопотребления под нагрузкой с использованием множественных вкладок и разного вида трафика: электронная почта, социальные сети, видео, новости и другие.
Как видно, 90-й процентиль показывает 17-процентное улучшение по сравнению с предыдущей версией Microsoft Edge. Что это означает для вас? Вы сможете на одном заряде аккумулятора уверенно целый день работать с Microsoft Edge.
Давайте посмотрим, что конкретно стало лучше.
Фреймы iframe стали более эффективными
Сейчас технология iframe активно используется на огромном количестве веб-страниц — эти фреймы позволяют веб-разработчикам внедрять сторонние документы (даже из совсем посторонних источников) в собственные веб-страницы. Этот гибкий, мощный и безопасный инструмент используется на многих популярных сайтах. Очень часто он применяется для размещения рекламы и внедрения содержимого. В сущности, фреймы iframe представляют собой маленькие веб-страницы, внедряемые в другие веб-страницы.
До настоящего времени на этих мини-страницах можно было без ограничений выполнять таймеры и код на JavaScript, даже если результат работы этого кода был не виден. Во фрейме iframe в нижней части мог выполняться код, определяющий видимость этого фрейма или выполняющий анимацию, пока вы читали заголовок в самом начале страницы. В этой версии мы сделали Microsoft Edge намного более интеллектуальным, позволив ему управлять таймерами на JavaScript в невидимых фреймах iframe и останавливать анимацию, которую никто не увидит. Пользователи не заметят разницы, ведь фреймы iframe по-прежнему загружаются и ведут себя привычным образом, когда попадают в поле вашего зрения. Мы просто снизили потребление ресурсов этими фреймами, когда они невидимы.
Проверка видимости стала более эффективной
Очень часто на сайтах некоторые фрагменты веб-страницы пытаются выяснить, видимы ли они пользователю, — это называется проверкой видимости. Это необходимо рекламодателям для оценки эффективности рекламы, а также для создания неограниченных списков с прокруткой и другой сложной разметкой. В прошлом эти операции требовали значительных процессорных ресурсов, особенно если они применялись очень часто. Иногда элементы страницы проверяли видимость каждого фрейма по 60 раз в секунду.
В версии Creators Update мы изменили алгоритм, обслуживающий запросы веб-страницами информации о видимости фреймов iframe и других элементов. Мы добавили дополнительный уровень кеширования и оптимизации для выполнения этой операции, обеспечивающий меньшее потребление процессорных ресурсов и энергии. Веб-разработчикам не придется ничего дополнительно предпринимать, чтобы воспользоваться этими преимуществами, а пользователи не заметят никаких изменений, кроме более быстрого поведения веб-страниц и повышенной «живучести» аккумуляторов.
Каркас Intersection Observer
В дополнение к этим улучшениям мы реализовали основанный на стандартах каркас для веб-страниц, позволяющий им выполнять эти же задачи без необходимости постоянно проверять собственную видимость. Этот каркас называется Intersection Observer. Он поддерживается другими ведущими браузерами и задокументирован в рабочем проекте документа W3C.
Если на веб-сайтах или в рекламных блоках используется Intersection Observer, браузер Microsoft Edge самостоятельно предоставляет им информацию о наличии пересечений с окном просмотра или любыми другими элементами. Страница уведомляется, когда изменяется пересечение любого элемента с окном просмотра, поэтому больше не требуется постоянно проверять каждый фрейм. Это намного более эффективный механизм, улучшающий работу всех пользователей с веб-страницами.
Стимулирование использования HTML5 в противовес Flash
В Creators Update мы предоставляем пользователям еще больше возможностей контроля того, что они видят на экране, а также помогаем им переходить к более безопасному, основанному на стандартах, и энергоэффективному веб-содержимому, стимулируя использование HTML5 и отказ от Flash. Мы позволяем пользователям самим определять, где разрешено использовать Flash. Это способствует не только увеличению времени работы от аккумулятора, но и повышению безопасности, скорости и стабильности.
Множество улучшений, основанных на телеметрии
Как и при выпуске любой другой версии, мы «подкрутили» и улучшили механизмы, работающие «под капотом» Microsoft Edge. Недавно мы использовали телеметрию с реальных устройств для оценки того, сколько времени мы тратим на предоставление ответов различным API-функциям JavaScript. Полученная информация позволила понять, на запросы каких функций мы тратим больше всего времени в среднем по всем устройствам, и улучшить в первую очередь их, чтобы получить максимум пользы от затраченных средств.
Интересно, что на десятку самых загруженных функций приходится половина всего времени, затрачиваемого кодом JavaScript на ожидание отклика от Microsoft Edge. Эти данные позволили не только улучшить работу от аккумулятора, но и повысить скорость отображения и отзывчивость веб-страниц.
Что дальше?
Как всегда, все это — очередной этап непрерывной работы над улучшением удобства работы в Интернете и получением максимальной отдачи от браузеров и устройств для наших пользователей. Когда речь идет о том, чтобы сделать Microsoft Edge быстрее и эффективнее, то пределов совершенству просто нет! В грядущих выпусках мы продолжим работу над расширением пределов возможного в плане эффективности, скорости и продолжительности работы от аккумулятора.
Брендон Хинан (Brandon Heenan), менеджер программ в группе разработки Microsoft Edge