Влияние iBeacon на разрядку батареи на устройствах Apple и Android
Apple анонсировала поддержку iBeacon технологии одновременно с релизом iOS 7. Эта технология разработана компанией, чтобы позволить телефонам определять свое точное местоположение. Гаджеты становятся еще более сообразительными, помогая нам ориентироваться в пространстве. Улучшение любых мобильных технологий, как правило вызывает опасение пользователей по поводу сокращения и так ограниченного времени жизни аккумулятора. Технологию iBeacon разрабатывали, принимая во внимание этот момент — она основана на протоколе Bluetooth Low Energy (BLE) – чрезвычайно энергоэффективном варианте Bluetooth, созданном в свое время Nokia.
Маячки iBeacons периодически испускают сигнал BLE (Bluetooth Low Energy). Мобильные устройства могут улавливать эти сигналы и определять свое положение относительно маячка. Это открывает новые возможности для работы мобильных приложений: например, доставка контента, основанного на локации, доставка клиентских приложений и многого другого. Для того, чтобы использовать маячки iBeacon, сотовые телефоны должны совершать дополнительную работу по их обнаружению, а это в итоге приводит к дополнительной разрядке батареи.
Специалисты компании Aislelabs провели серию детальных экспериментов на основе различных сценариев использования маячков iBeacon. В материале приводится сравнение результатов, полученных для iPhone с данными по устройствам на платформе Android.
Основные положения отчета:
- Для сканирования маячков устройства Android тратят меньше заряда батареи, чем Apple.
- В отличие от Android, заряд батареи iPhone менее чувствителен к числу маячков вблизи устройства. Чем больше маячков будет около телефона Android, тем быстрее будет разряжаться его батарея.
- Энергопотребление батареи iPhone более предсказуемо, чем у телефонов на базе Android. Новые телефоны на базе Android используют автоматический выбор маячка, чтобы оптимизировать расход энергии, тогда как Apple позволяет разработчику выбирать маячки, для сканирования.
- Более новые устройства (и iPhone, и Android, с новыми чипами BLE) хорошо оптимизированы для работы по протоколу Bluetooth низкой энергии с минимальным воздействием на батарею телефона.
Эксперименты проводились с iPhone 4S, iPhone 5C и iPhone 5S, все они работали на седьмой iOS. Эти модели телефонов уже продавались, когда была запущена технология iBeacon, и представляют собой семейство с чипами BLE.
Android позволяет сканировать сигналы всех маячков вблизи гаджета, но iOS ограничивает фоновый поиск предустановленным набором iBeacon идентификаторов (UUIDs). Процесс называется измерением дальности, а набор UUIDs – набором диапазонов. В фоновом режиме iOS регистрирует приложения всех маячков из набора UUIDs, заданном в приложении, каждую секунду (маячки не из набора диапазонов не сканируются операционной системой). Все эксперименты с iOS проводились с частотой сканирования BLE раз в 1 секунду из-за фиксированного интервала измерения дальности iOS. Авторы исследования изучали работу батареи маячков, как из диапазона измерения, так и просто любых окружающих гаджет маячков (т.е. таких, которые расположены поблизости к телефону, но не включены в его реестр измерений).
Разрядка батареи iPhone
Ниже в таблице приведены данные по разрядке батареи трех моделей iPhone в течение часа, в зависимости от числа маячков около телефона. Стандартное значение соответствует телефону не производящего измерений дальности сигнала, т.е., вообще не сканирующего маячков.
Таблица 1. Расход батареи iPhone, вызываемый использованием iBeacon в течение часа. Стандарт – отсутствие сканирования по Bluetooth, при работе телефона с включенным экраном. Самые лучшие – это минимально низкие показатели.
Данные таблицы 1 говорят, что iPhone 4S больше всех тратит заряд батареи, а iPhone 5S наиболее оптимизирован (у этих телефонов улучшенный чипсет). С ростом числа маячков, телефон использует больше ресурсов батареи. С единственным маячком в режиме непрерывного сканирования, 4S использует ресурсы батареи на 5,75% больше, тогда как 5S использует аккумулятор всего на 4,25% больше по сравнению со стандартным значением. Если число маячков увеличивается до 10, дополнительная разрядка батареи для 4S и 5S достигает 11% и 4,75% соответственно. Очевидно, что в окружении 10 маячков более новый iPhone 5S расходует только половину ресурсов своей батареи по сравнению с моделью 4S.
Обратите внимание, что, хотя в этих экспериментах время разрядки батареи для iPhone 5S может показаться очень коротким, в реальной жизни дела обстоят иначе. В экспериментах исследователи проводили непрерывное сканирование каждую секунду в течение часа, умное приложение в реальной жизни в фоновом режиме сканирует намного реже. В реальности суточное потребление энергии телефона с работающим приложением на основе iBeacon должно быть не больше 1% за 12-часовой период.
Таблица 2. Расход батареи с окружающими маячками iBeacon и без них по сравнению со стандартным значением. Самые лучшие – это минимально низкие показатели.
В Таблице 2 представлены данные по воздействию измерения дальности на батарею в зависимости от числа маячков. Приведен процент разрядки батареи в течение часа по сравнению со стандартом. В таблице указаны три вида измерений для каждой модели телефона:
- единственный маячок около телефона
- 10 маячков рядом с телефоном, но измеряет дальность сигнала только один UUID маячка, сигналы других 9 маячков заблокированы iOS
- 10 маячков возле телефона и каждый находится в диапазоне измерений дальности
Этот эксперимент предназначен для оценки эффективности блокировки iOS сигналов маячка перед полной их обработкой, если сами маячки не находятся в базе UUIDs. У телефонов на Android нет диапазона измерения дальности, и все сигналы от маячков, находящихся в зоне действия, ими обрабатываются, тогда как iOS применяет дополнительный уровень фильтрации, основанный на UUIDs маячка.
Очевидно, что окружающие маячки не оказывают влияния на расход батареи у более новых моделей iPhone. Это означает, что измерение дальности было тщательно оптимизировано инженерами Apple, чтобы сделать фильтрацию для окружающих маячков эффективным для батареи процессом. Результаты эксперимента показывают, что это проектное решение iOS действительно окупается, поскольку использование батареи для сканирования 1 маячка с 9 окружающими, по эффективности почти такое же как сканирование без них. При том, что экономия батареи скромна, любое улучшение здесь играет свою роль, когда дело доходит до ценного срока службы аккумулятора, и iOS в этом случае выигрывает у Android.
Ниже на рисунках 1 и 2 представлены результаты аналогичного эксперимента для моделей 5С и 5S. В целом тенденции схожи. Это не удивительно, так как у телефонов похожие BLE чипсеты. На графиках видно, что по сравнению с iPhone 4S, показатели стандарта улучшены посредством новых аппаратных средств. Во время измерения дальности, но при отсутствии маячков, воздействие на батарею в 5С и 5S меньше, чем у 4S. Поведение этих новых устройств ожидаемо: iBeacon не влияет на потребление заряда батареи в присутствии поблизости окружающих маячков. Для 10 маячков, разрядка батареи по сравнению с измерением дальности без маячков больше на 30% в час. Это гораздо лучше, чем у 4S, у которого наблюдалось почти 100% увеличение потребления батареи в течение часа для того же количества маячков.
Сравнение между устройствами на базе iOS и Android
Таблица 3. Потребление батареи для iBeacon BLE в % сокращения заряда за час. Потребление батареи в стандартном режиме уже учтено.
Из диаграммы видно, что Moto G показывает лучшее поведение батареи. Сравнивая семейства Nexus 5 и iPhone 5 (у них примерно одинаковое поколение чипсетов BLE) при малом количестве маячков, мы наблюдаем что Nexus 5 показывает лучший расход батареи. С увеличение количества маячков, расход батареи становится одинаковым.
Взаимодействие маячка c Android
Moto G и более новые телефоны на базе Android - чрезвычайно энергетически эффективны, когда используют iBeacons. Авторы исследования считают, что это происходит из-за специфики взаимодействия маячка на чипсетах BLE, используемых этими телефонами.
Чипсет Moto G расшифровывает только часть сигналов BLE, тогда как Nexus 5 и другие телефонные трубки обрабатывают все сигналы BLE, полученные ими. Данные экспериментов указывают на то, что Moto G обрабатывает только приблизительно 25% - 33% всех сигналов. Это дает им явное преимущество, когда дело доходит до срока службы аккумулятора. Относительно 100 рекламных объявлений маячка, Nexus 5 расшифровывает все 100 из полученных им сигналов, тогда как Moto G расшифровывает только 25-33 из них. Учитывая, что маячки рассылают свои сигналы очень часто (каждые 100-600 мс), большинство сигналов так или иначе будут продублированы, позволяя чипсету не расшифровать каждый сигнал.
Авторы не смогли определить, выполняют ли устройства Apple подобную выборку — iOS дедуплицирует сигналы iBeacon прежде, чем посылает их в приложение. Основываясь на составленных диаграммах потребления батареи, маловероятно, что устройства Apple делают какую-либо выборку. Apple позволяет разработчику вручную определить список маячков для сканирования – это является попыткой спасти батарею. Moto G, с другой стороны, делает автоматическую выборку, не налагая бремя на разработчика приложений.
Заключение
Apple представил технологию iBeacon и механизмы сканирования, используя методику измерения дальности. С тех пор как технология стала основываться на открытом стандарте BLE, новая версия Android не только поддерживает эту технологию, но и выглядит более эффективной чем у iPhone. В то время как обе операционных системы сопоставимы, Android предлагает разработчику приложений больше вариантов кастомизации, тогда как iOS предоставляет оптимизированное коробочное решение, но с меньшим количеством характерных особенностей.
Таким образом, использование батареи для протокола BLE продолжает существенно улучшаться с каждым новым поколением чипсетов BLE. Более новые телефоны, с чипсетами Bluetooth, разработаны специально для работы по протоколу BLE и являются чрезвычайно энергетически эффективными. В описанных экспериментах проводилось непрерывное сканирование каждую секунду, но в реальных условиях фактическое потребление заряда батареи у всех современных телефонов составляет величину менее 1%.
Диаграммы и графики использования электроэнергии на различных моделях iPhone. По оси Х – время от начала эксперимента, по оси Y – соответствующий заряд батареи. В легенде показаны модели телефонов и количество маячков вблизи аппарата.