|TableViewer/SWT Table: Bad performance with many columns [message #663736]
||Wed, 06 April 2011 11:09
Registered: July 2009
I've implemented a table editor (in an Eclipse IEditorPart) that holds mainly a Table using TableViewer, the editing support API, TableViewerEditor for navigation and focus-cell-highlighting, sorting, and filtering etc.|
The problem is, that when the ObservableListContentProvider provides > 100 rows and > 10 columns scrolling V/H gets slow. The same goes for the selection updates and re-drawing of the focus-cell highlighter when using page up/down, moving to first/last column (slow meaning latency > 1 s). As long as there are ~10 columns and 200-300 rows I regard the responsiveness to be "acceptable". (I do disable redraw of the control whenever possible.) It's my obvservation, that the number of columns makes the biggest difference. And, when I edit a large table I hide as many columns as possible, as 30-40 columns is not unusual in our application.
For testing, I set up the table viewer with a WritableList as its input (simply a list of strings), and I've had the cell label-providers (per viewer column) only return a hard coded string, and I set no editing support instances on the viewer columns. The content provider is the ObservableListContentProvider. (I
tried using the TreeViewer instead of TableViewer, as well as SWT.VIRTUAL, but that was even slower.)
I've seen several Bugzillas on the subject, and numerous "duplicates", but found no conclusion or active "parent" issue.
Many thanks in advance for any comments on this.
Powered by FUDForum
. Page generated in 0.02896 seconds