113 views
in GUI Development by
Hi!

Currently we are having 200000 records in our device side and we are displaying this data in EW vertical list in backward. If I request device side the data one by one from backwards, it takes longer time to load in vertical list and scrolling take long time. Do you have any better way to do this?

Thank You!

1 Answer

0 votes
by

Hello ThanushiyahG,

the problem is probably related to the access to the data. I suppose, when accessing a data record, your implementation iterates through the data records. The more records, the longer the time to iterate.

The Vertical List itself limits to cache few visible items. It is not depending on the number of items. Many items should not affect the performance of the list.

The unique peculiarity is when the list is intended to display items with flexible item height. In such case it is inevitable to iterate over the items in order to estimate the position of an item. To achieve best performance, configure the list to calculate with fixed size items.

Best regards

Paul Banach

by
I have configured the list to display 8 items at a time. I've set the array to size of 8 to load the data on the vertical list. I intend to read from device 8 by 8 and display on the vertical list. I've 100000 total data. First time loading 8 data is fine. Then I get the scroll position or index using the function VerticalList.GetItemAtPosition(). I intend to display next 8 items from the scroll index. Even though I get the correct index and pass it to device API, my vertical list is not updating as I expect. Is there anything to do with the data array? Or array index? Please advise me to achieve this task
by

Hello,

avoid the usage of the array in this case and simplify the implementation. Limit to obtain the data which is queried by the OnLoadItem slot method directly from your data base. It means, when OnLoadItem queries the data for the item #123456, query the corresponding data record from your data base and load the item with that data. The Vertical List itself takes care of caching the items which are actually in use.

Best regards

Paul Banach

by
Hi!

Thank you for your response. Currently I'm reading 20 data from device using a native function and store it to GUI side global variable and then use it to load vertical list, Scrolling became very slow now. Is there any setup to do to make the scrolling little bit faster
by

Hello,

Is there any setup to do to make the scrolling little bit faster.

Generally, the implementation of the list is already maximally optimized. If you observe performance issues, please review and optimize OnLoadItem. Also the design of the items may impact the performance. The more complex the items, the more time-consuming the screen update is. Also, other design aspects in your application (e.g. complex UI contents lying behind the list) may slow down the performance. Try to isolate the list in a small application and analyze its performance.

Best regards

Paul Banach

Embedded Wizard Website | Privacy Policy | Imprint

...