Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 343419

Summary: JFace / SWT based table-editor performance issues
Product: [Eclipse Project] Platform Reporter: germund <germund>
Component: SWTAssignee: Platform-SWT-Inbox <platform-swt-inbox>
Status: CLOSED WONTFIX QA Contact:
Severity: normal    
Priority: P3 CC: germund, remy.suen
Version: 4.1   
Target Milestone: ---   
Hardware: PC   
OS: Windows Server 2003   
Whiteboard: stalebug
Attachments:
Description Flags
An example table-editor implementation with JFace/SWT
none
Profiling (Tracing) of scrolling one column into view (right) none

Description germund CLA 2011-04-20 10:21:48 EDT
Build Identifier: 20110218-0911

I've implemented a table editor using TableViewer, editing support API, TableViewerEditor for navigation and focus-cell-highlighting, StyledCellLabelProvider, sorting, and filtering etc. (Runs within an IEditorPart in the workbench.)

The problem is, that already when there are > 15 columns and > 100 rows scrolling V/H gets "slow" with latencies of several 100ms. The same goes for row-selection updates and re-drawing of the focus-cell highlighter when using page up/down, moving to first/last column, using the scroll bars etc. 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 seems like the number of columns makes the biggest difference. And currently when I edit a table I hide as many columns as possible, as 30-40 columns is not unusual in our application. Also, resizing the editor area makes quite a difference.

For testing with just the "basics", 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) initially return a hard coded string. The content provider is the ObservableListContentProvider.

I've already seen Bugzillas related to this subject, and some duplicates, but
found no conclusive or active "parent" issue, so I try posting a new one. The editor does not need to be able to handle hundreds of columns and thousands of rows, but IMHO, ~50 columns and ~1000 rows should really not be a problem?


Reproducible: Always

Steps to Reproduce:
The attached .zip contains a simple implementation that creates a table with 46 columns and 300 "initial" rows, editing support, and focus-cell-highlighting. Import the project, start a run-time eclipse, create a file with the extension .tabledemo and open the file with the "Sample Table Editor".
Comment 1 germund CLA 2011-04-20 10:28:19 EDT
Created attachment 193704 [details]
An example table-editor implementation with JFace/SWT
Comment 2 germund CLA 2011-05-11 09:03:14 EDT
Created attachment 195339 [details]
Profiling (Tracing) of scrolling one column into view (right)
Comment 3 Lars Vogel CLA 2019-11-14 03:12:56 EST
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

If the bug is still relevant, please remove the "stalebug" whiteboard tag.