Under Review
over 1 year ago

Fenix 7 series - onPartialUpdate() stops working after 2 or 3 days (always on seconds stop working)

The seconds rendering of my watch faces stop working after a runtime of 2-3 days. This issue is currently only seen on F7 series devices. Other "older" models like the F6/F5+/F5 work perfectly. My watch faces display one of the most enhanced always on seconds rendering available in the store and run stable for at least 3 years.

It seems that the limits of the maximum render time is lower on the new device series or a device memory leak / performance bottle neck is causing this.

The watch faces can be found here:

https://apps.garmin.com/en-US/developer/7d8da96b-3639-4083-89ce-41e404d5bb10/apps

Thanks for your support.

  • It is your decision waiting for fix (usually it's a long period) or make something in app's code.

    As I understand, power budget it's a time of onPartialUpdate running so you have write good code  for slowest device.

    so if your code for e.g. f6 is near to the limit it can exceed running time on f7.

    the solution can be simple - if you draw only second make smaller setClip.

    maybe my watch faces have similar problem but nobody have noticed me about it.

  • sorry I do not understand you.

    The simulation of my code do never run into the power limit exceeded exception when I use the simulator. Simulating several weeks... seconds rendering stays stable. The rendering time in the profiler seems to be faster on F6x as on the F7x but I don't care about a simulation the watch face code have to work stable on the devices out there.

    Hopefully Garmin will find a solution for the F7 series to make it as good as the F6 series. At the moment I'm not so happy with these new device firmwares (stability and performance) of the F7x.

  • I don't know your code (source code link goes to web page) but if you run very close to the power budget you don't have  exceed it in first minutes.

    run profiler for f6 and f7 (start from the same time, use time simulation) when low power  and compare it 

  • my understanding is that the power budget breaks within several minutes if it is exceeded by the code or it is stable. The not working seconds after 48h (2 days) seems to be a different issue. Nevertheless the code is within the SDK limits and the hardware have to fullfil it.

    Adding different workarounds in the code for all different device types is simply crazy. Smiley

    • It's normal behaviour if you exceed power budget in onPartial. I've observed that on new devices graphics run slower (profiler show it) even they have gpu... so maybe something what works well on f6 is too slow for new devices