Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Setting a custom Column Width on a table makes rendering much slower #9556
Calling setColumnWidth on a tableColumnModel makes the rendering of the table very slow. I have a table on a tabview and this the switch between tabs is taking ~6 seconds. If I remove the setting of the column width then performance is restored. I presume I can edit a default columnWidth somewhere which I'll look into, but setting it this way shouldn't cause such bad performance.
I created a playground version that's not as poor performance as my actual app, but does demonstrate the performance decrease when switching from Tab1 to Tab2 vs the performance of switching from Tab2 to Tab1.
The Table widget is notoriously bad about handling large numbers of columns. One major problem you're seeing here is that for each column width change, scroller widths and scroll bar visibility are being calculated: qx.ui.table.columnModel.Basic's
What I don't understand is why the rendering is slow upon subsequent tab changes. Those event listeners should only be called during table creation. There's more to this than meets the eye...
If all or most of your columns are the same size, you can change the default column width with