crystal-face icon indicating copy to clipboard operation
crystal-face copied to clipboard

Battery drain

Open negiot opened this issue 5 years ago • 4 comments

Hi, on my 645 battery drains after I have activated the seconds.

negiot avatar Mar 26 '19 13:03 negiot

Hi! Normally, always showing seconds should not significantly increase battery drain, as that code/rendering path has been quite heavily optimised. However, if you show seconds in combination with Heart Rate (Live 5s), this causes a much larger screen update every 5 seconds (the invalidation area is the rectangle just large enough to enclose all clipping regions) which could have a noticeable effect on battery life. However, it sounds like you're experiencing something significantly worse than this: what is your % battery drain per day (if your battery lasts that long)?

warmsound avatar Mar 26 '19 20:03 warmsound

Hi, the battery is 87% charged and the heart rate is disabled. The watch has completely discharged in 5 hours.

negiot avatar Mar 27 '19 20:03 negiot

@negiot, sorry for the delay, as I've had another project on the go. Yikes, a complete discharge in 5 hours is extreme, probably extreme enough to suggest a firmware bug. The Connect IQ system imposes tight constraints on how much power a watch face can consume during a per-second update: the onPartialUpdate() must on average take less than 30ms (I believe this is averaged over a minute). If this value is exceeded, then onPartialUpdate() stops being called. I did a fair amount of work to optimise this code path. I've just checked in the simulator, and with default settings (with seconds activated), onPartialUpdate() is only taking 5,370 microseconds.

As a random stab in the dark, I wonder if your watch is somehow stuck in high power mode? For example, does the step count update every second continuously (for more than 10 seconds), or does the dot for "Heart Rate" continue to flash continuously?

I've just had a quick look online, and there are various reports of sudden battery loss on the FR645 (e.g. 50% loss overnight: https://www.reddit.com/r/Garmin/comments/96chad/forerunner_645_battery_life/). Do you only experience this issue with Crystal, or with other 3rd-party watch faces as well? Sorry I don't have any concrete answers at this stage.

warmsound avatar Apr 07 '19 20:04 warmsound

@warmsound I made a change for myself: I switched the "Hide Seconds" option in the settings to "Show Seconds" with 3 possible values: Never / Always / On gesture. Would you consider merging it if I prepare a PR?

flocsy avatar Jul 04 '21 09:07 flocsy