| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
|
Build size and comparison to main:
|
Sorry, something went wrong.
|
If you're feeling up to it, I think a review of every screen not using LV_DISP_DEF_REFR_PERIOD would be good step forward in terms of improving responsiveness. There's probably a reason for the slow refreshes in some places - maybe performance of other things on the screen, maybe designs that don't use DirtyValue and therefore redraw things every frame, maybe bugs which have long been fixed, who knows! In most cases I think updating every refresh should be fine as there should be no drawing to do if nothing has changed (but some refactoring may be needed to allow this e.g if DirtyValue needs to be added) |
Sorry, something went wrong.
|
I've been getting my head around the drawing of each screen and the lv_task callbacks and will try to have a further look at a general review. |
Sorry, something went wrong.
|
Sounds good, feel free to ask any questions (here or the pinetime-dev chat channel). I'm happy to explain general things too if an overview on a part would be useful |
Sorry, something went wrong.
|
How's it going? I'm happy to look at reviewing just this change for now and equally happy with waiting if you're planning on reviewing more places where the refresh time is long, just let me know :) |
Sorry, something went wrong.
Hi @mark9064 I've not been able to progress this to look at all of the code. It is on my mind that I really should but it won't be for a while. |
Sorry, something went wrong.
|
No worries at all, whenever you're ready for review just say and I'll try take a look |
Sorry, something went wrong.
|
To better understand the code, I reviewed every lv_task_create and found the following:
|
Sorry, something went wrong.
|
Thanks a lot for going through and reviewing them all :)
|
Sorry, something went wrong.
I'd not thought about that. I'll run a quick test on a few watchfaces to see the impact on the UX. |
Sorry, something went wrong.
Tested on the simulator as it's pretty slow on my machine so would exaggerate any UX problems and you're absolutely right @mark9064 the Refresh() is required to fully update the WatchFaces, ready for when they scroll into view. I moved the Refresh() before the refresh task is created and it didn't appear to make any difference to the UX, so is ok to be left as it is. |
Sorry, something went wrong.
|
Dirty Value alternative proposed in #2471 |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
The current Quick Settings lv_task period is 5000 msecs.
With a screen timeout of 5 seconds, you only just see the charge icon appear in the status bar at the top of the watchface.
This PR reduces the period to 100 msecs so as soon as you put it on the charger, the charge icon appears. And when you take it off the charger, it quickly disappears.
There are a couple of other screens which this charging UX is poor (it's just not "snappy"):
Tile.cpp
BatteryInfo.cpp