Battery Life in iOS app

PLEASE improve the battery use in the iOS app. On my iPad Pro, newest model 4th gen, only 2 months old, and using the Charts app absolutely demolishes the battery - talking 100% to ~10% in 4 hours when using the app during flight. Pretty ridiculous, considering on days when I do not use the charts app I can go a full 18-24 hours and still have 30% battery life left with normal usage. Right now in last 7 days, Charts is 98% of my battery usage.

Thanks! Incredible app otherwise. No complaints otherwise.

Hello Remy! Welcome to the forum!

Our application runs a complex, vectorized map in 3D, and it requires a not insignificant amount of power to do so. In order to consume less power, we would have to seriously downgrade the experience and let go of most map-related features that we have introduced since v8!

As far as I know, and in my own experience, this is a thing for apps like ForeFlight as well. I always connect my iPad to power when flying, as otherwise it would be out of battery in no time.

If you do not have the possibility to connect it to power, I could provide you with the same, much more lightweight version that the panel is running. However, you would lose weather layers, dynamic map filters etc. in the process!

Apologies for the inconvenience!

Kind Regards,
Malte

1 Like

Hi

I am not a developer, and I certainly understand what you are saying, but there are many other apps that do the type of vector generation, and 3D work that yours does with much better battery performance.

Photoshop
iRhino3d
Bluebeam Revu
Procreate

And more…

So, I am sure there are ways to optimize battery usage, if you guys tried.

Thanks!

I am sorry, but your examples are not comparable to our app. They are either using rasterized content (Photoshop, Procreate) or have a very limited context/environment (not worldwide). They do not have the same features - it is an apples-to-oranges comparison.

Our app shares more similarities with a game engine than Photoshop. Our data includes anything from a large UIR to a 4-meter wide stop-line at an airport, and our map needs to keep track of all of this and dynamically render it to you every frame. This includes checking for collisions between labels, lines, etc. and is a complex process that requires resources. For a smooth experience, we need to render the map several (preferably 60) times every second during movement - and if you are using moving maps, the calculations and their results will look different every time so there are no optimization opportunities there that have not been applied already. If you are not moving the map at all, the process is optimized and you should see next to no effect on the battery drain as it essentially becomes “rasterized”.

Please compare with similar applications, such as ForeFlight or Google Earth! Or even other navigation utilities that support rendering the complete world in a dynamic, vector-based way. Or a game! This way, you get a fair perception of what our energy consumption looks like compared to other similar apps.
There is a reason why we connect our devices to airplane power while flying in real life even if the flight is not longer than one or two hours.

There is no feasible way to do this without implications.
Again, if you want to save battery then you will have to compromise on performance and features by using the less complex version that is used in the panel. That version is more similar to the apps you mentioned since it does not need to keep track of a global 3D environment - or render it 60 times per second for that matter!


All the above said - I collected some statistics from Apple. According to them, our app uses on average 6.39% of battery if it is open 24 hours on an iPad that is not connected to power. This seems very low to me and I would expect a lot more, but it is the official numbers provided by Apple themselves.

I have also done some profiling of the app to see what the memory and CPU usage looks like.
I can confirm that the app consumes less than 1% of CPU when idle. When you start moving (panning, zooming, or using moving maps) the usage increases, but it is hard to give an exact number since it can vary significantly depending on the map contents.

I took a tour around the San Fransisco area and observed this fully expected behavior:

Untitled 10-04@2x

Every time the map moved, there was a spike as the map made all the necessary calculations.
In this case, it spiked to 65% and then quickly dropped off once the calculations were complete! This repeated every second.

If you instead start panning and zooming all over the place without stopping, in a dense area, this is what you get:

As you can see, it spiked even higher which again is fully expected given the circumstances. Try spinning the viewport in a CAD program with a complex model, I guarantee that you will get a similar result! Or render an animation sequence with lots of layers and content in Procreate for that matter :wink:

I hope this gives some additional insight into the situation!

Kind Regards,
Malte