UITable data display performance issue
Afficher commentaires plus anciens
I have a uitable created in appdesigner and loaded with data from an SQL database. Displaying any amount of data, even as few as 100 rows and 8 columns results in very poor performance. Scrolling up and down takes on the order of seconds to render new rows of the table. Is there any way to improve the performance of the UITable display to the end user?
Please note that the data within the table is not large, mainly datetime values, integer values and short text strings with less than 10 characters.
Code for loading UITable:
tmpName = tmpTable.Properties.VariableNames;
tmpTable.StartDate = datetime(tmpTable.StartDate, 'Format', 'uuuu-MM-dd HH:mm:ss.SSSSSS');
tmpTable.EndDate = datetime(tmpTable.EndDate, 'Format', 'uuuu-MM-dd HH:mm:ss.SSSSSS');
tmpTable.StartDate.Format = 'uuuu/MM/dd HH:mm:ss'
tmpTable.EndDate.Format = 'uuuu/MM/dd HH:mm:ss'
app.DataTable.ColumnName = tmpName(1:8);
app.DataTable.Data = tmpTable(1:100,1:8);
app.DataTable.ColumnEditable = true;
Réponses (1)
I have a similar problem with tables of 100's of rows that cannot be reduced. All the research I've done indicates that the Matlab uitable implementation handles each cell an individual class object. This gets very slow with more than a few dozen rows of data, and there's just not much to do about it until Mathworks decides to make the code more efficient.
It's possible to use an older version of uitable (pass 'v0' as an argument) that is ~10x faster, but that's long since deprecated and doesn't contain most of the new useful functionality of the modern uitable.
6 commentaires
orvar
le 23 Jan 2019
Have you managed to find any solution to this?
bbull84
le 23 Jan 2019
mark gabbidon
le 21 Jan 2020
Modifié(e) : mark gabbidon
le 21 Jan 2020
I have the same issue. Has this issue been fixed? I need to export data to excel to do any kind of analysis as App designer's table is not useable at all for anykind of table data analysis.
Aykut SIRMA
le 4 Nov 2020
They still didn't fix. I have the same problem too still.
Frank Herzog
le 17 Mai 2021
Same issue here. Does anybody have a solution to this?
I just noticed in the profiler that updating some values in a uitable is by far the slowest task in my code.
Catégories
En savoir plus sur Develop Apps Using App Designer dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!