How to arrange ROLLER with very long list of options?

Important: unclear posts may not receive useful answers.

Before posting

  • Get familiar with Markdown to format and structure your post
  • Be sure to update lvgl from the latest version from the master branch.
  • Be sure you have checked the FAQ and read the relevant part of the documentation.
  • If applicable use the Simulator to eliminate hardware related issues.

Delete this section if you read and applied the mentioned points.

Description

My code adds large list of options to ROLLER, maybe 100 or 200 options, which significantly increase the whole lag of the system, the larger the list, the more lag!
Is there any option for the roller to read and display only snippets of the whole list of options (only those who are displayed, so the lag be more appropriate?

What MCU/Processor/Board and compiler are you using?

ESP32

What LVGL version are you using?

8.3

What do you want to achieve?

Faster refresh for ROLLER

What have you tried so far?

Everything I can think of

Code to reproduce

Add a code snippet which can run in the simulator. It should contain only the relevant code that compiles without errors when separated from your main code base.

The code block(s) should be formatted like:

/*You code here*/


char buf[5000];
  buf[0] = '\0';
  for (int rName=pIndex; rName<pEnd; rName++) {
    strcat(buf,rife_name[rName]);
    strcat(buf,"\n");
  }
  lv_roller_set_options(ui_Roller1,buf,LV_ROLLER_MODE_NORMAL);


## Screenshot and/or video
If possible, add screenshots and/or videos about the current state.
1 Like

I too would like this ability. I have a list of timezones with 461 options. I tried Roller, List, Dropdown… they all lag or just crash. Many UI frameworks have an event to fetch the next item off screen, that could eliminate this issue if implemented.

The tradeoff of going what you want would be memory. each item in the list would have to be a separate lv_label object and that would cost memory to do especially with long lists.

I had thought about the same thing and IDK if it would be possible on all MCUs because of the memory needed to do it. I have made lists on the roller with 340 items and on the ESP32 the roller moves fine without any lag or issues.