Ticket Created
over 5 years ago

WERETECH-8406

DC content is not persistent between onUpdate on real VA4 but it is persistent in simulator

In simulator (VA4) is DC content persistent between onUpdate calls and it is possible to draw only changes. On real VA4 is DC content cleared before every onUpdate and it is necessary to draw whole display content.

VA4: 3.80, SDK: 3.1.6

Parents
  • Hi , I am still getting reports from users that this bug is not fixed.

    On Vivoactive 4, 4S, Rey, Approach S62 and other derived watches, the DC content is cleared every OnUpdate, even if I do not call dc.clear(). This is different from the simulator, and also from all other Garmin watches (Vivoactive 3...)

    What does this mean: every OnUpdate we need to redraw everything. We can't just redraw one part of the display (to save the battery and make the rendering faster). Based on that, I can't publish my watchfaces Half Time and My Day 24 on VA4, and also my Maze Game does not work there. I can't do the full redraw, because I would not fit into the limits.

    There is also a second consequence: when switchToView is called, the content of the underlying watch face is shown under the app for half a second, instead of a nice transition animation (like on Fenix, Forerunner etc.)

    This bug has been reported as a WERETECH-7828, WERETECH-7827 and WERETECH-8406, the first time it was in August 2019. You can also find a discussion here: https://forums.garmin.com/developer/connect-iq/f/discussion/211532/different-onupdate-behavior-in-simulator-and-real-device-vivoactive4/994105#994105

    People are unhappy that they sent me a donation, but the app does not work on their new watch. When this issue will be fixed? Thanks!

Comment
  • Hi , I am still getting reports from users that this bug is not fixed.

    On Vivoactive 4, 4S, Rey, Approach S62 and other derived watches, the DC content is cleared every OnUpdate, even if I do not call dc.clear(). This is different from the simulator, and also from all other Garmin watches (Vivoactive 3...)

    What does this mean: every OnUpdate we need to redraw everything. We can't just redraw one part of the display (to save the battery and make the rendering faster). Based on that, I can't publish my watchfaces Half Time and My Day 24 on VA4, and also my Maze Game does not work there. I can't do the full redraw, because I would not fit into the limits.

    There is also a second consequence: when switchToView is called, the content of the underlying watch face is shown under the app for half a second, instead of a nice transition animation (like on Fenix, Forerunner etc.)

    This bug has been reported as a WERETECH-7828, WERETECH-7827 and WERETECH-8406, the first time it was in August 2019. You can also find a discussion here: https://forums.garmin.com/developer/connect-iq/f/discussion/211532/different-onupdate-behavior-in-simulator-and-real-device-vivoactive4/994105#994105

    People are unhappy that they sent me a donation, but the app does not work on their new watch. When this issue will be fixed? Thanks!

Children
  • Thanks for the reply. Could someone explain this newer page management system and why dc must be cleared before onUpdate? Is there any documentation about this? And in simulator is different behavior.

  • Thank you Travis. If this is by design and the ticket was closed, you should let us know Slight smilenice if I could support these devices. In the Maze Game it's not realistic to do a full redraw every frame, the rendering would drop from 10 FPS to 1.

  • The vivoactive4 family of devices use a newer page management system that is very different from the system used by older devices. That is the source of the issues you're seeing.

    It looks like the first of those three tickets (expecting the view to not be cleared between onUpdate calls) was closed as By Design. According to the discussion there, it is expected that the ConnectIQ developer will completely redraw the screen when onUpdate is called. The only time you should be drawing a clipped area is in onPartialUpdate (which is only available for watch faces).

    The second issue (page transitions showing garbage) has a comment indicating that it was transferred to the vivoactive4 team, but I can't find any evidence that it actually was. It appears that this problem also affected the fr935, so it isn't actually related to the page management system. It looks like the issue filed against the fr935 was expected to be fixed when they pulled up the the ConnectIQ 3.1 VM which implies that this was a bug in ConnectIQ and not the device firmware.

    The third issue still Open, but it is really a duplicate of the first. I'm not sure if it will be closed as such or if the device team will relent and just stop clearing the view before calling to the application.