Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » JFace » TableViewer/SWT Table: Bad performance with many columns(Table editor with cell-editing support, focus-cell highlighting, etc. is slow when there are many columns.)
TableViewer/SWT Table: Bad performance with many columns [message #663736] Wed, 06 April 2011 07:09
germund is currently offline germund
Messages: 5
Registered: July 2009
Junior Member
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.
Previous Topic:Properties View for elements in JFace Viewer
Next Topic:Change TreeViewer column header height
Goto Forum:
  


Current Time: Sat Apr 19 00:34:42 EDT 2014

Powered by FUDForum. Page generated in 0.03685 seconds