Ever since its public release in Australia, New Zealand, and United States, Pokémon Go, the augmented reality mobile game from Nintendo and Niantic Labs, has quickly captured the fascination of the app world. Within one week, it became the Number 5 most popular app among US Android daily app users.
The location-based augmented reality (AR) game brings AR experience — interacting with pokémon in the real world — by using almost all of the power-hungry components of a typical smartphone: camera and sensors, GPS, Screen, CPU, GPU, and network radios. As such, it has also become one of the most battery-constrained apps among the 2 million or so apps in the consumer app marketplace.
In this following, we report on the first in-depth study of how battery is drained by Pokémon GO using the proprietary energy drain diagnostic tools from Mobile Enerlytics. Our study answers questions concerned by the the millions of pokemon GO fans and gives insights that assist pokemon GO developers on how to go about cutting down its battery drain.
- How long will my battery last for common play scenarios?
- How long will the recommended battery saving techniques extend my battery life?
- Which phone components consume most of the battery?
We used a Nexus 6 phone for all the experiments. Its battery capacity is 2400mAH. We installed pokemon GO version 0.33.0, as well as our battery drain diagnostic tool. Screen brightness was kept 30% of the maximum level 255. A Pokemon GO fan then interacted with the app using WiFi on a university campus with good WiFi coverage, while its battery drain information is being collected and analyzed.
1. How long will my battery last for common play scenarios?
Like any sophisticated app, Pokémon GO comes with many possible play scenarios a fan can be engaged in. For starters, we tested four common scenarios the app can be in: Idle, Walk, Collect Pokeball, and Capture Pokemon.
Figure 1 shows how long a fully charged battery will last if the app stays in each of the four scenarios, without turning on the two battery saving options: battery saving mode is off, and AR mode is on.
Figure 1: Battery life when Pokemon GO stays in each of the 4 scenarios.
We see that Capture Pokemon is the most battery intensive scenario, depleting the battery in just 1.95 hours. The scenario uses augmented reality to show pokemon characters on the camera screen. In addition, the user needs to throw Poké balls from screen bottom to capture the Pokemon. This involves all of the phone’s power hungry components like camera, CPU, GPU and screen. Other scenarios do not use camera which cuts down their battery need. We do not observe much battery drain difference between idle (stationary) and walk scenario. The reason could be that the avatar changes position within the game’s map often even when the phone is stationary.
2. How effective are the recommended battery saving techniques?
The Pokemon GO developers anticipated the battery as a major roadblock to the overall user experience, and built into the app two battery saving configuration options: battery saving mode and AR off mode. The battery saving mode is designed to save screen energy while walking, by dimming the screen and slowing the refresh rate, if the user points the top of the phone towards the ground, a natural holding position while walking.
The AR off mode is designed to cut the app’s camera battery drain, another major source of the app’s battery drain. When the AR mode is off, the camera will not open up when it is time to capture a Pokémon, and the user loses the AR experience of having her actual surroundings just behind the pokemon.
We analyzed the effectiveness of the two options on the game’s battery drain for Walk and Capture Pokemon scenarios. Figure 2 shows how long the battery will last if the app stays in walk, with the battery saving mode on or off, under several screen brightness levels. We see that the battery saving mode extends the battery life by 23% , 30%, and 40% for brightness levels 30%, 50%, and 80%, respectively.
Figure 2: Life of a fully charged battery when Pokemon GO stays in Walk.
Figure 3: Life of a fully charged battery when Pokemon GO stays in Capture Pokemon.
Figure 3 shows how long the battery will last if the app stays in Capture Pokemon, with AR mode on and off, under screen brightness level 30%. We see that disabling AR mode nearly doubles the battery life.
3. Which phone components consume most of the battery?
Figure 5: Component power draw breakdown for Walk Scenario
To gain insight into how Pokemon GO drains the battery, we used our tool to break down its total battery drain into portions from engaging different phone components needed to delivery the overall user experience. Figure 4 shows the total battery drain and breakdown of the game under AR on and AR off for a 2-minute play of Capturing Pokemon (throwing a ball every 10 seconds). To make it easier to relate the energy drain with the component power draw, we show battery drain (and breakdown) in terms of average power over the app play duration. Figure 5 shows the total battery drain and breakdown of the game under normal mode and battery saver mode for a 2-minute play of Walk. We see that
(1) The major battery saving for battery saving mode comes from Screen (19%) and for AR off mode comes from Camera (56%);
(2) GPS drains only about 4–7% of the total app energy;
(3) Interestingly, the app drains little battery doing networking (~5 mA), as it performs infrequent networking of fairly low volume data (about 7 KBytes every 30 seconds for the Idle scenario.)
(4) And though there is no augmented reality in AR Off mode, GPU actually drains 3X more battery (~150 mA) than in AR On mode (~49 mA).
Figure 6: Timeline of Component-wise power draw in Capture Pokemon.
To understand the above GPU power behavior and gain further insight on Pokemon GO’s battery drain behavior over time, we used our tool to show the timeline of the power draw by different components while the game was in Pokemon Capture with AR On mode and AR Off mode, and the user threw a ball towards pokemon every 10 seconds. We see that
(1) For both AR On and AR Off, Screen and GPS are turned on all the time, drawing steady power, while Camera is on only for AR On mode;
(2) Surprisingly, for AR On, GPU and CPU power draw is high initially but both gradually decreases significantly around 35 second CPU with GPU power almost becoming zero! The likely reason is that when AR mode screen just started, CPU and GPU were engaged actively to instantiate the 3D animated objects (such as Ball, Pokemon) on camera screen. Afterwards, the only major task left was to compute the coordinates using motion and position sensors (e.g accelerometers, gyroscopes) to correctly position the already instantiated 3D objects on the camera screen.
(3) For AR Off mode, although the green background is static, there are regular changes on screen such as the shade of pokemon which results in continuous use of GPU and CPU.
(4) We did not include the power consumption by sensors used in app as they are insignificant. For example, Gyroscope consumes 1.5 mA and Accelerometer consumes 1.3 mA.
In summary, our analysis has shown that the AR experience of Pokemon Go comes at a hefty toll on the battery — draining battery almost twice as fast compared to AR off when capturing Pokemons. We expected battery saver mode to take close to zero power, but it only reduced battery drain rate by just 19%. Pokemon Go drains fully charged phone battery in as little as 2 to 4 hours on a high-end phone (Nexus 6) making it one of the most battery-hungry apps ever.
Our patented app battery management (ABM) solution, Eagle, demonstrated that CPU and GPU are the biggest consumers of battery in almost all scenarios and should be optimised first by the Pokemon app developers; camera and screen are power hungry components and users should keep them off longer with AR off and battery saver mode on to extend their battery life by 2x and 19% respectively.