Complete

Screen disappears after couple of seconds on F45 or Vivoactive4 (due to battery optimizations)

In 10-50 seconds, a screen turns black in FR45 or Vivoactive 4 when it it is not redrawn every single on-update. Simply no-operation in onUpdate will turn the screen black instead of keeping the last image. 

No problems reported on other devices. 

Reason for not redrawing the screen all the time: I strive for battery saving and don't render seconds. It takes a lot (time-wise) to compute all charts and redraw the screen every time. So I redraw it only once a minute and I had a magnificent battery life. Better than stock watch faces. 

How to fix(?):

  1. can the problem be solved by updating the firmware of the affected watches? 
  2. is there a way how to tell the watch just to keep the current display

How to measure a battery impact(?):

  1. how to measure the battery impact empirically? I just measured a rendering time in ms, but don't know what impact on the battery it actually has. Is there a better way to measure and optimize the battery impact? 
  2. what operations actually drains the battery? 
  3. Does BufferedBitmap count to the watch face memory limit? If not, can prerendering into it can improve a battery consumption? 

Thanks for your guidance and fixing the affected devices firmware. 

Parents
  • Maybe we can find posts from 2015 because people just can't believe that somebody intentionally decided to make different devices behave differently without reason, without even documenting and sacrificing qualities of MIP displays and battery consumption. 

    Fun fact: because of this decision: the display is erased twice each time it is refreshed on some devices: once automatically, and once manually, because developers must erase it again, because nobody knows when it behaves how. 

    Sorry, this is simply beyond my imagination that somebody might consider this sane. 

Comment
  • Maybe we can find posts from 2015 because people just can't believe that somebody intentionally decided to make different devices behave differently without reason, without even documenting and sacrificing qualities of MIP displays and battery consumption. 

    Fun fact: because of this decision: the display is erased twice each time it is refreshed on some devices: once automatically, and once manually, because developers must erase it again, because nobody knows when it behaves how. 

    Sorry, this is simply beyond my imagination that somebody might consider this sane. 

Children
  • Understand that you are expected to draw the entire screen when onUpdate is called.  In low power for a watch face, that's only once a minute.  The DC is also cleared in things like data field before onUpdate is called on most if not all devices.

    With the 2015 threads, this was probably first noticed when the FW would display a message in the top part of the screen, and if you didn't update the whole screen, it didn't look good.