Refreshing only the changes objects?

Hi. I just try to understand a bit more LVGL guts. Is it correct that only changes objects will be redraw ?
For example, changing an icon, only that icon is redrawn.
Changing full tile screen > Full frame buffer updated, right?

I think that the notion of where the real frame buffer sits is not well captured in LVGL. Most of the screens used there have built in frame buffers, but this is for small screens, max 480*320 as far as I looked on Google.
Depending on the real frame buffer configuration, either inside CPU memory, or outside, the LVGL buffer strategy is different I think. I would suggets a few lines to be added in the doc :slight_smile:

That’s correct.

There are a few different buffer strategies explained here.

1 and 2 use a smaller in-memory buffer that is independent of the display’s framebuffer, and are thus compatible with any type of display. They’re designed for environments where memory is constrained and/or a CPU-addressable framebuffer is not available.

3 uses the framebuffer itself as the buffer. Double-buffering is needed to prevent flickering while the display updates. That means it only works with displays using a CPU-addressable framebuffer. We used to call this mode “true” double-buffering as it matches what PCs, etc. do.

It might be useful:
https://docs.lvgl.io/v7/en/html/overview/drawing.html