Measuring Power Usage on iOS Devices Using GameBench

 

Have you ever needed to test the power consumption of your game in iOS?

It's very important to measure your game’s power consumption because it can have a direct effect on a user’s experience playing your game. You would be really surprised how many developers still aren't doing this today.

In this post, we are going to show you how you can use the GameBench Wireless Mode, which is currently in Beta, to record Battery Drain as seen by the user while the app is in session.  We realize this is not the engineering grade measurement, but it does give you direct insight to the user’s experience.

For details on enabling Wireless Mode and measuring power, please follow the steps below.

Step one:

Plug in your device and connect with the GameBench Desktop App on a MacOS host. Allow GameBench to prepare it, and then ensure that the device’s name is selected in the pull down menu in the top left corner of the desktop window.

Note: Be sure to enable the "Sync with this iPhone over Wi-Fi" in iTunes

Step two:

Hit the “Wireless” button in the top right corner as shown here, and GameBench will prepare your device for wireless profiling. You will get a pop up when this is complete and the button will turn red.

Wireless-Mode-screen

Step three:

Now you can disconnect your device from your Mac.

Step four:

Proceed testing as usual. Hit “Record,” to begin a session. You will need to record a session of at least 15 minutes in order to capture accurate power measurements.  Then hit “Stop” when you are finished. Once you’ve finished recording, your data will sync to your web dashboard.

Step five:

When you are done with the wireless profiling on that device and/or you want to switch to a different device just plug the device back in and hit the “wireless” button again to reset.

 

As we mentioned, measuring and optimizing your mobile game's power consumption is very important to the overall experience of your users. Click below to find several articles with examples of what to watch for while testing for power in your game.

Click Here For More Power Consumption Posts

 

You can also use Wireless Mode to record the mA (milliamp) consumption of your iOS device. This feature uses Apple’s Energy Diagnostics Instrument** to access the data needed to calculate instantaneous current drain.  However, there are some limitations on what iOS devices and versions this data will be available for testing.

Please take note of the following cases where we are unable to measure the current drain due to bugs present with Apple’s Instruments software stack.

 

iOS Versions 9.3.5 - 10.2

If you are using one of these iOS versions, then GameBench will not report the current drain. This is due to a bug that caused no values to be returned from the Energy Diagnostics Instrument. This was fixed with iOS version 10.3.

 

Newer iOS Devices

All devices from iPhone 8 onwards don’t work if you would like to measure the average current drain during the gaming session. Apple has acknowledged this as an issue. The above mentioned Energy Instrument and GameBench don't work. The list of devices that have an issue is mentioned below.

  • iPhone 8
  • iPhone 8 Plus
  • iPhone X
  • iPhone XR
  • iPhone Xs
  • iPhone Xs Plus

For these devices, GameBench Desktop App records the battery level as reported by iOS. This data is then used to compute the battery drain rate for the session. This only works if you are using the GameBench Desktop App on a MacOS host.

 

 

Summary of support for measuring iOS Power:

 

Device iOS Version Battery Drain Rate (%) Average Current Drain (mA)
iPhone 8 or Newer Any Yes No*
iPhone 7 Plus or Lower 9.3.5 - 10.2.3 Yes No*
iPhone 7 Plus or Lower Version 10.3 or Higher
Version 9.3.4 or Lower
Yes Yes

 

Stay Up-to-Date

Sign up to receive updates on our progress solving the limitations on measuring Power Consumption in mA (milliamp) for the above mentioned devices.

 


*If you would like to measure the current drain and expected play time of your game, we suggest using a device prior to iPhone8 (iPhone 7, iPhone 7 Plus or lower work well).

**https://developer.apple.com/library/archive/documentation/Performance/Conceptual/EnergyGuide-iOS/MonitorEnergyWithInstruments.html