Navigation mode drains battery faster than I can charge with my 2A charger #11962
Replies: 41 comments 3 replies
-
(1) Are you sure your device charges at all when the screen is on? Some device/charger combination do not do this. (2) When your device is hot, it will probably no be charged in any case, this has nothing to do with OsmAnd. All Li batteries have a safety mechanism to stop charging from a certain temp upwards. (3) Are you quite positive the issue is 100% correlated to the navigation mode being on? How do things differ if you just keep OsmAnd displaying the map without navigation? OsmAnd does not use any special battery, eco etc. functionality, but instead relies on any OS feature to do this. If you e.g. tell your device to always throttle CPU usage ("Power savings mode"), or do this when on battery only, hat would explain your observations with regard to this. |
Beta Was this translation helpful? Give feedback.
-
Hi sonora, (2) Right, but I see that the discharge current exceed charge current before the device gets hot. Basically, it starts happening when I start moving. Although, during the night when I can set the brightness on the lowest level I can drive for hours and the battery is charging. The meter shows values less than 100 mA, but still positive. I cannot drive on min brightness during the day as the map becomes invisible. (3) Sorry that I didn't clarify it before. I don't think that the problem is navigation mode by itself. It happens when the car is moving and the current position is pinned on screen. When the map has to render new tiles all the time that when it consumes so much power. The device is quite powerful and everything is perfectly smooth, but it consumes lots of energy, more than the charger can provide. All battery saving features are unfortunately disabled in charging mode and I cannot limit the frequency of CPU which I would love to do but I cannot. I agree that it's mostly my device problem. I think that the manufacturer didn't test much the device battery consumption on load in charging mode. Which is probably a quite rare case. The device shuts down all the power saving features and believes that power is always enough. I think it would be useful if OsmAnd implements some of the power saving features. It could be very useful in battery mode as well. Modern devices are very powerful and many people will willingly sacrifice some visual smoothness if it leads to longer battery life. First of all, I would give an option to limit max screen update rate all the way up to 10 maybe even less FPS. Also, I didn't read the code, but I expect that you have a separate thread which renders raster tiles from a vector data. It would be nice to give an option to limit the minimum time between the start of the previous tile render job and the start of the new job. It should help a device to keep the frequency of CPU (and maybe even GPU) on low levels. What do you think? |
Beta Was this translation helpful? Give feedback.
-
I am wondering if this is maybe related to #3898. There I reported huge battery and CPU consumption in connection with permanent address lookup. Are you perhaps only observing this for app modes where you have 'Display street name' selected in the Configure screen menu? Can you look at some sort of Task manager and check CPU usage while this occurs? Somehow you should try to find out if it is the screen or the CPU which draws so much power. Also temporarily disable all other and in particular 'permanent on' overlay etc. apps, they may themselves actually be the reason for causing this. |
Beta Was this translation helpful? Give feedback.
-
@sonora I've captured a video which I think quite interesting. My charger was always connected. AccuBattery monitored the battery current (bottom left corner) and the CPU load per each core (bottom right corner):
It feels like when I activate the navigation mode the device bumps up the CPU clock and the power consumption becomes very high. However, OsmAnd manages to utilize the full new CPU power and starts to render as often as possible and device keeps the CPU clock. Closing OsmAnd and giving some time to the device to idle or do moderate job brings the CPU back to the previous state until the navigation mode of OsmAnd is activated again. So, I think that even if the navigation mode has some performance problems (which initiates the problem) OsmAnd should have an option to limit the maximum power consumption and reduce refresh rate to a reasonable level even if a device allows to render more frequently. What do you think about that? |
Beta Was this translation helpful? Give feedback.
-
Does the battery consumption improve when you disable Configure screen -> Street name? As far as I understand this should disable the broken reverse geocoding from #3898. However I'm not an OsmAnd developer so I might be wrong. |
Beta Was this translation helpful? Give feedback.
-
@scaidermern I haven't tested it yet, but I will the next time I have a chance. But anyway, "Street name" could be a trigger, but the problem I think is deeper. Even after restart (1:24 on my video) OsmAnd keeps the device in a high-performance mode when the street name and navigation mode are disabled. |
Beta Was this translation helpful? Give feedback.
-
Chances are what you show around 1:24 is not a true "kill" of the OsmAnd app, seems to me the restart is way too fast for that. Tapping the (x) in the "recent apps" list on many Android versions does not really kill the app, but only sleeps it and/or puts things in the background. For a true "kill" to be achieved you will have to use some true task manager, or go to the Android's app settings and use "Force stop". Chances are the way you did it, reverse address lookups or other processes were actually continuing to run the background, causing continued battery drain (at least when the app was put in the foreground again). |
Beta Was this translation helpful? Give feedback.
-
@sonora I checked it with |
Beta Was this translation helpful? Give feedback.
-
@scaidermern I tested it without street names and the result is pretty much the same. It might be slightly better, but not significantly. |
Beta Was this translation helpful? Give feedback.
-
@black-square already described my situation exactly. I had to switch to google maps halfway through my trip so I'd have enough battery to get back home. |
Beta Was this translation helpful? Give feedback.
-
This is an old thread, and I could never reproduce it on my devices. Which device/Android/OsmAnd-version combinations does it still apply to? |
Beta Was this translation helpful? Give feedback.
-
One more experiment: Please enable the OsmAnd development plugin, then in its settings disable "Animate my position". Does this make a significant difference? |
Beta Was this translation helpful? Give feedback.
-
I've got a Samsung Galaxy S9, SMG960U, Android 9 OSMAnd 3.3.8. I'll try that setting next time I navigate. |
Beta Was this translation helpful? Give feedback.
-
Samsung S5 (klte) running LineageOS 16.0 and having the same issue. @sonora's suggestion for turning off "Animate my position" made a big difference for me. It was draining the battery at nearly 1% per minute before and now it charges, albeit quite slowly. The map and navigation is still totally usable as well, the setting only disables the "smooth" movement animation of your position. |
Beta Was this translation helpful? Give feedback.
-
Observing the same draining rate as in previous comment. Lately using Osmand navigation for longer cycling routes, and the battery is draining with a rate of nearly 1% per minute. |
Beta Was this translation helpful? Give feedback.
-
A good cable is important for fast charging. It can help car drivers. But there shouldn't be such power drain at the first place... |
Beta Was this translation helpful? Give feedback.
-
I am also having the same problem with omsand using more power than the charger can keep up with on my motorcycle. Not a problem with Google maps though. |
Beta Was this translation helpful? Give feedback.
-
I have been dealing with this problem too. I get very high power consumption and phone heating when screen is on and the map is following my movements. The animations are smooth, but my car charger cant keep up with the power consumption and my phone slowly discharges, even while connected to the charger. https://files.fm/u/kekbcu7q video will be deleted after 2 months. Im using oneplus X with LineageOS |
Beta Was this translation helpful? Give feedback.
-
I updated my Galaxy S7 from LineageOS 14.1 (Android 7.1) to 16 (Android 9, unofficial for this model). And there is no more any battery drain. For instance, I used yesterday for a 40' bike ride, with screen on and navigation, and the battery lost just 10%. Before that, it would have been maybe 60%. |
Beta Was this translation helpful? Give feedback.
-
I experience the same issue on a Google Pixel, Android 10, OsmAnd 3.5.5. |
Beta Was this translation helpful? Give feedback.
-
Same here on Nokia 9 pureview (Android 10). |
Beta Was this translation helpful? Give feedback.
-
Just a brief "me too" with a test: OsmAnd displaying the map with GPS and mobile data enabled: OsmAnd in navigation mode with GPS and mobile data enabled: OsmAnd 3.6.3 Edit - Perhaps unrelated, but just to add to the potential knowledge base: |
Beta Was this translation helpful? Give feedback.
-
Same for me. Phone gets ridiculously hot and drains at least 1% per min in navigation. Galaxy S9 G960F Basically unusable for long journeys :( Any progress? |
Beta Was this translation helpful? Give feedback.
-
Same for me. just recording a track needs almost no power, but once navigation is active, battery drains really fast and phone gets hot. |
Beta Was this translation helpful? Give feedback.
-
This is reproducible in navigation simulation mode. |
Beta Was this translation helpful? Give feedback.
-
Same here, this is perhaps the most critical issue with the app, and I'm concerned it's not being looked at for this many years now. EDIT: FOUND THE PROBLEM, SOLUTION BELOW Disabling street names and "No animations -> on" didn't change a thing for me, battery was still discharging with 10W wireless charger on, at about 10% an hour. But in the middle of a trip I went to Settings -> (Profile of your choice) -> Navigation settings -> Animate own position -> OFF. Battery started charging at about 20% an hour. Massive difference. |
Beta Was this translation helpful? Give feedback.
-
@vshcherb Intetesting! If this affects more devices, I guess we should make this our installation default. |
Beta Was this translation helpful? Give feedback.
-
It makes sense that this setting is more power hungry, as it will cause hundreds more map redraws to do one second of animation. I think two things could be investigated here:
@sonora I think disabling animations is just a quick workaround but not a fix for this issue. |
Beta Was this translation helpful? Give feedback.
-
It's expected but it still didn't give enough power in the end. If you think that Animation causes redrawing 5-10 FPS and without this option map is updated only 1 FPS, then 20% improve doesn't look very impressive and definitely has big drawback how navigation feels. |
Beta Was this translation helpful? Give feedback.
-
I just came across Streetcomplete and it's map is much more fluid and responsive, and uses less battery. Maybe it's rendering code can serve as an inspiration. |
Beta Was this translation helpful? Give feedback.
-
I have OsmAnd+ 2.7.2 on my Huawei Mate 9 phone and I cannot use it for a long drive navigation as it drains the battery faster than a charger can charge. Also, I noticed that the phone starts to heat up when I use OsmAnd with the charger connected.
It's a good car 2A charger and it can really output 2A. I tested it by using AccuBattery app.
Also, I noticed that OsmAnd works less smoothly when the charger is disconnected which made me thinking that OsmAnd uses some sort of a battery economy technique and reduces redraw frequency.
Is it possible to have an option (at least in the development plugin) to enable battery eco mode even when the charger is connected?
Beta Was this translation helpful? Give feedback.
All reactions