Энергопотребление однотипных Android-приложений

Ставим Google Play и игры на планшет Nokia N1 и исследуем нюансы автономной работы с его помощью


В начале весны мы получили на тестирование экземпляр планшета Nokia N1 — первого мобильного устройства, выпущенного финской компанией Nokia после продажи своего подразделения Devices & Services. Ничем особенным новинка не запомнилась, кроме, разве что, разъема USB Type C, который применялся вместо обычного Micro-USB.

Дизайн планшета Nokia N1

Первой была выпущена китайская версия планшета, где вместо Google Play был установлен собственный и очень скудный магазин приложений Nokia Store. Из нашего тестового набора там имелась только одна игра. Установка через apk-файлы лишала бы тест совместимости всякого смысла, поэтому мы отложили устройство до лучших времен, когда энтузиасты смогут адаптировать для него Google Play. Три месяца ожидания не прошли даром; на всякий случай прилагаем полную инструкцию.

Установка Google Play

Для установки потребуются драйвера Intel и инструменты ADB (Android Debug Bridge). Активируйте на Nokia N1 опции разработчика (несколько нажатий на «Build number» в информации о планшете) и через них включите отладку по USB (USB Debugging). Загрузите приложения Google и скопируйте их на планшет.

Здесь возможна загвоздка: планшет не определится компьютером как внешний накопитель. В таком случае придется скопировать apk-файл через ADB. Для этого зайдите в папку AndroidSDK, затем platform-tools. Скопируйте сюда zip-архив с приложениями Google и переименуйте его для простоты, например, в «gapps.zip». Зажмите клавишу Shift, откройте на пустом месте контекстное меню и нажмите «Открыть окно команд».

Прошивка планшета Nokia N1

Подключите планшет в режиме отладки и введите в командной строке «adb devices». Если все работает правильно, в списке появится устройство. Теперь скопируйте архив с приложениями gapps.zip командой «adb push gapps.zip /sdcard/». В случае успеха вы через некоторое время получите отчет о результатах, как на скриншоте выше.

Теперь скачайте архив с утилитой для ПК. Распакуйте его и запустите launcher.bat:

Прошивка планшета Nokia N1

Напишите заглавными буквами «ACCEPT», нажмите Enter. Приложение предложит выбрать из нескольких пунктов списка. Введите «T4» и снова нажмите Enter. Начнется процесс, бо́льшая часть которого будет сопровождаться комментариями на дисплее планшета. Не стоит ничего трогать, пока он не перезагрузится в рекавери. Теперь с помощью аппаратных кнопок выберите установку *.zip с SD-карты и укажите путь до «gapps.zip». После прошивки подтвердите перезагрузку.

В нашем случае после перезагрузки возникли проблемы с клавиатурой Android: она не работала и постоянно выводила ошибку. Все решилось простой переустановкой клавиатуры Lollipop через apk-файл. Скачайте его, скопируйте на планшет (при необходимости через командную строку, как описано выше), и выберите на планшете apk-файл через любой файл-менеджер.

Через некоторое время использования Google Play стал выдавать загадочную ошибку 194 при попытке скачать большие приложения. Помогла очистка кэша и удаление обновлений у приложений Google Play и Google Play Services (это можно сделать через настройки планшета). После этого для работы некоторых приложений (Gmail, Youtube) придется обновить сервисы Google Play через Play Store повторно. Но после обновления вернется ошибка 194 в Play Store, которую при необходимости можно повторно решить тем же способом. Получается, что работает, в принципе, все, но без основательных «танцев с бубном» не обойтись.

Установив Google Play, мы восполнили пробел нашего обзора планшета Nokia N1 и попробовали инсталлировать наш стандартный набор игр:

Modern Combat 5: Затмение не запускается
Call of Duty: Strike Team не загружается
Asphalt 8: На взлет несовместима
Mortal Combat X работает нормально
Dead Trigger 2 работает нормально,
высокие настройки
GTA: San Andreas работает нормально,
максимальные настройки
Need for Speed: No Limits работает нормально
Assassin's Creed: Pirates работает нормально
Deux Ex: The Fall работает нормально
World of Tanks: Blitz работает нормально

Modern Combat 5 при запуске постоянно требовала обновить версию приложения и переносила нас в Google Play. Вероятно, эта проблема вызвана кустарной установкой сервисов ОС. Call of Duty уходила в бесконечную загрузку первого уровня, что мы уже наблюдали в других устройствах. В целом, игровой потенциал у планшета неплох, и в международной версии Nokia N1 с предустановленным Google Play наверняка нормально работают все или почти все игры.

Забирать у нас сэмпл Nokia N1 было некому, так что мы воспользовались им, чтобы ответить на несколько важных вопросов, требующих, в первую очередь, не знаний, а времени. Для справки приведем еще раз все характеристики устройства.

  • Номер модели: N1
  • Однокристальная система: Intel Atom Z3580
  • Центральный процессор: 4 ядра x64 @2,3 ГГц, 64 бит (4 потока)
  • Графический процессор: PowerVR G6430 @533 МГц
  • Дисплей: IPS, 7,9″, 2048×1536, 326 ppi
  • Оперативная память: 2 ГБ
  • Внутренняя память: 32 ГБ
  • Wi-Fi 802.11 a/b/g/n/ac (2,4 + 5 ГГц) с поддержкой MIMO
  • Bluetooth 4.0
  • Камеры: 8 Мп тыловая, 5 Мп фронтальная
  • Симметричный разъем USB Type C, гнездо 3,5 мм для гарнитуры
  • Емкость аккумулятора: 5300 мА·ч
  • Операционная система: Google Android 5.0.2 (на момент написания этой статьи) с фирменной оболочкой Z Launcher
  • Размер: 201×139×6,9 мм
  • Масса: 318 г

FBReader или Moon+ Reader? С автолистанием или без?

При оценке продолжительности автономной работы одним из наших обязательных сценариев является чтение электронных книг. Разные авторы используют разные популярные приложения: в тестах смартфонов чаще FBReader, в тестах планшетов — Moon+ Reader.

Загрузка планшета Nokia N1
График разрядки Nokia N1 в одном из режимов чтения. С новым дизайном Android Lollipop отслеживать время автономной работы стало очень неудобно, так что для мониторинга мы используем дополнительную утилиту.

Установим на планшет оба приложения через Google Play и загрузим одну и ту же электронную книгу. Для начала было бы интересно посмотреть, сколько оперативной памяти занимает то или иное приложение, когда оно находится в активном режиме. Для этого прибегнем к утилите «dumpsys», включенной в состав ADB:

Загрузка планшета Nokia N1
Нагрузка на оперативную память работающего в активном режиме FBReader

Нас интересует последняя строка. Первая цифра в ней, PSS Total, демонстрирует, какой объем памяти занимает приложение с учетом общей памяти — то есть тех областей, которые она может разделить с другими приложениями. Вторая цифра, Private Dirty, показывает именно то количество памяти, которое программа не делит больше ни с кем.

Загрузка планшета Nokia N1
А это — нагрузка приложения Moon+ Reader. Как видим, употребляет она почти в два раза больше памяти.

В приложении Moon+ Reader имеется режим автолистания, который мы также задействовали для сравнения.

Загрузка планшета Nokia N1

Была установлена минимальная скорость и постраничное перелистывание.

Загрузка планшета Nokia N1
С включением автолистания Moon+ Reader стал занимать лишь на несколько мегабайт RAM больше.

Теперь оценим нагрузку процессора, с помощью той же самой удобной утилиты dumpsys.

Загрузка планшета Nokia N1
Отчет за 20 секунд активного автолистания. Moon+ Reader нагружает процессор на 3,5% ((1,3% × 0,03) + (1,6% × 0,022)). Здесь и далее мы не учитываем дополнительные процессы, которые необходимы для работы приложений в Android.

При отключении автолистания нагрузка Moon+ Reader на процессор перестает учитываться вообще. В отчете данная программа даже не указана. Та же самая ситуация и с FBReader:

Загрузка планшета Nokia N1

Оценив потребление ресурсов, перейдем к сравнительному тестированию автономной работы. Чтобы исключить автоматическую подстройку яркости в зависимости от характера выводимого изображения, в обеих программах установлена тема с черным текстом на белом фоне, в которой статично демонстрируется одна и та же страница книги. Помимо ридера, на планшете каждый раз был запущен в фоновом режиме Battery Monitor Widget Pro. Поскольку на Nokia N1 спящий режим нельзя отложить более чем на 30 минут, каждые полчаса все равно было необходимо касаться экрана.

Кроме того, мы оценили время автономной работы в тех же условиях, но с включенным автолистанием в Moon+ Reader. На минимальной скорости и с перелистыванием постранично.

FBReader Moon+ Reader Moon+ Reader
(автолистание)
16 ч. 2 мин. 16 ч. 40 мин. 13 ч. 10 мин.

Moon+ Reader протянул на 4% дольше по сравнению с FBReader. Такая разница, в принципе, погоды не делает, но дает основания признать «лунную» читалку более экономичной.

Гораздо внушительней влияние автолистания на время автономной работы. Сценарий, когда на экране включено статичное изображение, менее правдоподобен — цифровые фоторамки все-таки уже давно потеряли актуальность. Очевидно, что когда человек читает, он перелистывает страницы, поэтому автономную работу целесообразно тестировать именно в таком режиме. При включенном автолистании время работы Moon+ Reader сокращается на 21%, и это при самых щадящих настройках, смене страницы примерно через каждые 24 секунды. А в реальных условиях, когда скорость листания выше, разница будет еще больше.

MX Player или Youtube? А может, VLC?

Воспроизведение потокового видео также является одним из наших основных сценариев тестирования. Для устройств на Android мы задействуем потоковое воспроизведение в MX Player. В iOS, где этот проигрыватель недоступен, мы включаем потоковую трансляцию через приложение Youtube. Иногда в тестах поддержки видеоформатов мы также задействуем проигрыватель VLC для Android, который, в отличие от последних версий MX Player, умеет самостоятельно декодировать AC3 (по крайней мере, в версии, актуальной на момент написания статьи).

Оценим среднее потребление ресурсов процессора и оперативной памяти каждым приложением:

Загрузка планшета Nokia N1

Загрузка планшета Nokia N1
В течение всего отчетного времени на планшете была запущена трансляция 720p-видео через MXPlayer. Одноименный процесс занимает чуть больше одного процента, но вместе с ним запускаются и другие, более затратные (например, mediaserver). Средняя загрузка CPU составила 7%, а потребление памяти — до 107 МБ.

Загрузка планшета Nokia N1

Загрузка планшета Nokia N1
Приложение Youtube оказывается более прожорливым в плане RAM. Через 6 минут трансляции 720p-видео оно употребляло в общей сложности до 185 МБ и, в среднем, нагружало процессор почти на 4,9% ((13% × 0,23) + (10% × 0,19)). Опять же, без учета сопутствующих процессов Android.

Загрузка планшета Nokia N1

Загрузка планшета Nokia N1
Плеер VLC более экономичен — до 144 МБ оперативной памяти и около 1,4% ((4,4% × 0,11) + (9,1% × 0,1)) средней загрузки ЦП (без учета дополнительных процессов) после 6-7 минут трансляции 720p-видео.

Потребление ресурсов у разных программ заметно различается. Интересно, в какой из них одно и то же устройство, наш многострадальный Nokia N1, протянет дольше? Во время каждого из тестирований планшет воспроизводил 720p-видео, был подключен к одной и той же сети и не сдвигался при этом с места. Яркость была установлена на уровне 100 кд/м². Звук выводился через подключенные наушники на средней громкости.

MX Player Youtube VLC
13 ч. 33 мин. 12 ч. 31 мин. 12 ч. 3 мин.

Получилось, что чем больше загружает ЦП именно процесс плеера, тем дольше работает планшет. Интересно, что каждые пару-тройку часов Youtube принудительно прерывает видео для показа рекламного ролика. А потом возвращается к прерванному моменту и продолжает воспроизведение. В итоге просмотр видео через приложение Youtube длится примерно на 8% меньше, чем через MX Player. Не критично, но принять во внимание следует. А VLC проработал еще меньше, чем приложение Youtube.

Epic Citadel Guided Tour и GFXBenchmark

В игровом режиме тестирования автономной работы вместо специального теста батареи GFXBenchmark (основанного на демо T-Rex HD) мы используем циклически работающую сцену Epic Citadel Guided Tour. GFXBenchmark рассчитывает полное время автономной работы за счет некоторого количества прогонов сцены T-Rex HD. Подразумевается, что разряжаться устройство, исходя из показаний ОС, будет равномерно. Но в работе мы много раз сталкивались с аппаратами, где график разрядки был далек от прямой линии; например, сваливался от 10% до нуля за считанные минуты. Запуск повторяющегося Epic Citadel Guided Tour позволяет обойти эту проблему, поскольку у нас есть возможность проследить полный цикл работы планшета.

Для начала оценим, сколько ресурсов системы потребляют тестовые режимы.

Загрузка планшета Nokia N1

Загрузка планшета Nokia N1
На работу демо-сцены Epic Citadel Guided Tour уходит до 222 МБ RAM и примерно 19,3% ((22 × 81%) + (8,7 × 17%)) общей производительности процессора

Подключить планшет к ПК во время теста батареи GFXBenchmark не удавалось — программа ругалась на то, что планшет подсоединен к зарядке, и тест не начинала. Так что мы запустили сцену T-Rex HD в onscreen-режиме как бенчмарк производительности.

Загрузка планшета Nokia N1

Загрузка планшета Nokia N1
На работу демо-сцены GFXBenchmark T-Rex HD уходит до 198 МБ RAM и примерно 6,5% ((12 × 81%) + (5,5 × 8,7%)) общей производительности процессора

Epic Citadel Gided Tour оказался гораздо более прожорливым, чем мы ожидали. Посмотрим, как это отразится на работе батареи.

Загрузка планшета Nokia N1

В обоих тестах мы сохраняли стандартную яркость экрана, 100 кд/м², и одну и ту же беспроводную сеть.

GFXBenchmark Battery Test Epic Citadel Guided Tour
4 ч. 5 ч. 12 мин.

Выводы

Подведем итоги нашей «лабораторной работы». Несмотря на то, что сам Moon+ Reader съедает в два раза больше RAM, чем FBReader, работает он чуть дольше — разница все-таки выходит за пределы погрешности измерения. Это доказывает, что степень загрузки RAM мало влияет на продолжительность работы — в ОС Android оперативная память все равно динамически распределяется в полном объеме. Смена страниц в читалке создает нагрузку на процессор и дисплей, что с легкостью отъедает у аккумулятора пятую часть полного цикла. Это необходимо принимать во внимание, когда вы знакомитесь с результатами тестирований.

Смотреть видео по сети через приложение Youtube более энергозатратно, чем с помощью MX Player, но менее энергозатратно, чем через VLC. Как мы уже отметили, возможная причина — количество активных процессов.

Несмотря на то, что Epic Citadel вроде бы потребляет больше ресурсов, чем GFXBenchmark T-Rex HD, при тестировании энергопотребления одно и то же устройство дольше «крутит» именно сцену Epic Citadel Guided Tour.

Данный материал ни в коем случае не претендует на исчерпывающее исследование — с учетом разнообразия Android-устройств оно потеряло бы актуальность уже в ходе подготовки. Тем не менее, общие выводы относительно взаимной энергоэффективности вполне могут быть применены повсеместно — операционная система все-таки одна.

Дополнительно

Нашли ошибку на сайте? Выделите текст и нажмите Shift+Enter

Код для блога бета

Выделите HTML-код в поле, скопируйте его в буфер и вставьте в свой блог.