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:
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
I hope this gives some additional insight into the situation!
Kind Regards,
Malte