Search code examples
iosbattery

Does iOS run at reduced performance when the battery is low?


One of my testers on an iOS game reported this bug:

The gamespeed slows down significantly up to FPS 11 when the battery of ipod touch is low (below 20%). The remainig battery amount of the devide should not affect the game speed.

Is this normal under iOS, or could this problem be caused by something else? If this is normal, how do I get full performance when the battery is low?

The polite thing to do would probably be to decrease the complexity of the effects or processing in game, but unfortunately I don't have that luxury.

I would like to debug this, but I have a bit of a unique problem: I can't run down the battery if the device is plugged in and I can't use the debugger if the device isn't plugged in.

[Edit] I ran down the battery and the performance of the app was not affected, so I'm not sure what could have caused this. Is there a decrease in performance if the device gets too hot?


Solution

  • I don't see why it would. The system does not reflect what battery level the device is at (at this time at least), and only really acknowledges it when alerting you that it's low and showing the battery in the corner. The only way for the battery to be the problem would be if the battery of the iPod Touch was starting to die - it would not be able to power the processor at its fastest speeds, especially when in the red.

    What generation iPod Touch is your tester using? I'd recommend testing on a 4th or 5th gen since Apple doesn't support any of the older models anymore.

    Also, with every new iPod/iPhone came a new processor (A4, A5, A6,...) and the older ones just can't handle the speeds and power needed for a lot of modern applications. While it is a little extreme, take Infinity Blade for example. When running the app on a A5 or newer chip, it runs perfectly fine. But when run on a A4 chip (such as in the iPod Touch 4th gen), the game lags and, if a lot of space is taken up, crashes.

    In response to the edit, there is definitely something that I believe happens when the battery overheats. Unlike low battery, Apple takes overheated batteries seriously enough to cut performance and try to cool the battery down - or at least that's what it appears to me.

    Hope this helps!