Questions about refreshing components

Hi everyone,

I’m working on displaying 8 charts, each containing more than 1,000 double values (yes, that’s quite a lot of data). I’ve noticed that while the charts generate without issues during the initial page load, scrolling becomes choppy and laggy. I suspect this is because the charts are being recalculated every time there’s an event on the page.

My questions are:

  1. How does LVGL handle chart rendering? Are charts recalculated/redrawn on every page event?
  2. Is it possible to make a chart (or any object) “static”? I’d like to prevent unnecessary redrawing once the initial rendering is complete, especially during scroll events.
  3. Are there any recommended optimization strategies for handling multiple charts with large datasets?

Thanks in advance for any guidance!

Does anybody have an answer or some tips? Thanks

Hi!

Are you running on ESP32-S3? What is the specific board or display you are using?

Also do you mean scrolling the screen where the charts are or scrolling the charts themselves like left/right?

In my experience, scrolling in general is somewhat a heavy task for ESP32’s, specially if it is a big display. Because LVGL has to update many parts on the screen when scrolling.

Please if you can share with us more hardware details and your LVGL initial setup, like buffering etc we can try to help further or optimize the performance.

You can also check on LVGL’s youtube channel. There are some benchmark videos on ESP32-S3