Acknowledged

Request - specify if WatchUi.View.onUpdate() is required or optional

If onUpdate() calls would allow differentiating between updates that are required and that are optional, it would allow avoiding unnecessary repainting.

For example, if a watch face does not require updating every second (by showing just HH:MM), then 59 repaints every minute in high-power mode go to waste.

On the other hand, if the OS wipes the screen clean for some reason, then onUpdate() obviously must execute.

The request is to change onUpdate to include an extra parameter to specify if the update is optional or not:

onUpdate(dc as Graphics.Dc, required as Boolean) as Void

This would help writing more power-efficient code.

Parents
  • This is probably the single biggest issue impacting the CIQ developers right now.  It's causing CIQ faces to feel sluggish when entering high-power mode, and it's draining batteries.  There's a HUGE bug on Epix 2 Pro that paints the screen every single second in low-power mode.  Battery drain is ridiculous for CIQ faces.

    I finally bit the bullet and developed this exact system.  It worked great on my Epix 2 Pro, and I thought I had a breakthrough in responsiveness and battery usage.  The sleep-wakes were super responsive.  And the battery usage was MUCh better.

    But once I rolled it out, users on other devices flooded in with bug reports.  It turns out that some devices clear the screen, making a paint on every call necessary.  So all those customers were getting "black screens" when an unnecessary paint was called.

    I reverted back to a prior version, and here I am now trying to see if I can figure out a new fix.  It was night-and-day better with the fix, but maybe I can only deploy that on my own device (Epix 2 Pro)?

    Here's my thread on this in the forums:
    forums.garmin.com/.../when-woken-onupdate-is-called-6-times-before-onexitsleep-called


Comment
  • This is probably the single biggest issue impacting the CIQ developers right now.  It's causing CIQ faces to feel sluggish when entering high-power mode, and it's draining batteries.  There's a HUGE bug on Epix 2 Pro that paints the screen every single second in low-power mode.  Battery drain is ridiculous for CIQ faces.

    I finally bit the bullet and developed this exact system.  It worked great on my Epix 2 Pro, and I thought I had a breakthrough in responsiveness and battery usage.  The sleep-wakes were super responsive.  And the battery usage was MUCh better.

    But once I rolled it out, users on other devices flooded in with bug reports.  It turns out that some devices clear the screen, making a paint on every call necessary.  So all those customers were getting "black screens" when an unnecessary paint was called.

    I reverted back to a prior version, and here I am now trying to see if I can figure out a new fix.  It was night-and-day better with the fix, but maybe I can only deploy that on my own device (Epix 2 Pro)?

    Here's my thread on this in the forums:
    forums.garmin.com/.../when-woken-onupdate-is-called-6-times-before-onexitsleep-called


Children
No Data