×

Аккумулятор против пикачу: технарь на охоте

С релизом Pokemon Go я накинул на рюкзак повербанк, включил сбор телеметрии и вышел из офиса в асфальтовый каньон. Цель — оценить, как игра обращается с радиомодулями и сколько милиампер-часов исчезает за одну охоту.

PoGo-геолокация

Тепловая карта запросов

Дифференциальный GPS (DGPS) под солнечным небом выдаёт разброс до трёх метров, тот же при отражениях от витрин уходит в семь. Игра опрашивает fused-location-stack раз в 700 мс, запрашивая флаг HIGH_ACCURACY. Каждый второй кадр сопровождается вызовом сессии gyroscope-drift-compensation, из-за чего SoC дергает шину I²C чаще, чем при видеозвонке. При плотном спавне сервер подбрасывает Push-nudge, и приложение мгновенно инициирует SSL-handshake, удлиняя хвост радиопередатчика на 1,2 с. Суммарно стек тратит 380 мВт только на удержание канала.

Полевые наблюдения

На Snapdragon 8+ Gen 1 средний drawdown составил 14 % за час при 120 кд/м² яркости. Exynos 2100 прожигает 18 %, ведь scheduler переносит часть операций на Cortex-X1 без hotplug-паузы. Чипы Mediatek Dimensity 9000 удерживают паритет с Qualcomm, но шаг частоты GPU сглажен кубическим сплайном, из-за чего пиковый импульс короче. LTO-кэш показал интересную картину: через двадцать минут прогрев — drift коэффициент 1,03 ppm, тогда как без игры держится 0,27. Причина — постоянное чтение Niantic-овского protobuf, нагружающее big-cluster.

Fused-запросы лучше чередовать с ACTIVITY_RECOGNITION: акселерометр вытягивает класс ходьбы без GPS, экономя 90 мВт. В фоновом режиме handshake стоит объединять через HTTP 2-multiplex, сокращая radio-tail. Игроку же достаточно включить режимм «только GPS», притушить OLED до 80 кд/м² и держать power-bank выше 10 Вт·ч. Тогда охота переживет пять-шесть рейдов без визита к розетке. А редкий труп батареи под шпилем небоскрёба больше не застанет врасплох.