Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 343419 - JFace / SWT based table-editor performance issues
Summary: JFace / SWT based table-editor performance issues
Status: CLOSED WONTFIX
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 4.1   Edit
Hardware: PC Windows Server 2003
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Platform-SWT-Inbox CLA
QA Contact:
URL:
Whiteboard: stalebug
Keywords:
Depends on:
Blocks:
 
Reported: 2011-04-20 10:21 EDT by germund CLA
Modified: 2019-11-14 03:12 EST (History)
2 users (show)

See Also:


Attachments
An example table-editor implementation with JFace/SWT (16.90 KB, application/x-zip-compressed)
2011-04-20 10:28 EDT, germund CLA
no flags Details
Profiling (Tracing) of scrolling one column into view (right) (86.57 KB, image/png)
2011-05-11 09:03 EDT, germund CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
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.