Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Remote Application Platform (RAP) » JFace Viewer Performance
JFace Viewer Performance [message #133246] Mon, 18 May 2009 16:27 Go to next message
Eclipse UserFriend
Originally posted by: markus.wolf.nmmn.com

Hi,

the JFace Viewers are a bit slow on long lists. We noticed the problem on
a ListViewer with around 2000 entries. We tried to create a lazy
ListViewer to solve this, and as expected this is much faster - but...
With a lazy Viewer it is not possible to select an element by keyboard
typing.
E.g. in a non-lazy Viewer when a user wants to select an entry starting
with the character 'x' he could just type x and the first entry with x is
selected. This does not work in lazy viewers. Is there a way to enable
this kind of 'quick-selection'?

Thanks
Markus Wolf
--
NMMN - New Media Markets & Networks GmbH
Langbehnstrasse 6, 22761 Hamburg
Geschäftsführung: Kfm. Michael Schütt
Finanzamt HH-Altona - UStID DE 812 699 852 - HRB 71102 Hamburg
HypoVereinsbank - BLZ 200 300 00 - Konto-Nr. 156 29 82

http://www.nmmn.com
Tel.: +49 40 284 118-0 - Fax: +49 40 284118-999
Softwareentwicklung LLynch: -720
Re: JFace Viewer Performance [message #133283 is a reply to message #133246] Tue, 19 May 2009 06:12 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: bjoern.bjoernfischer.de

Hi Markus,
are you working with RAP 1.2 M7? There was a performance enhancement on
TableViewers. See https://bugs.eclipse.org/bugs/show_bug.cgi?id=273433.

Additionally there is another performance issue solved in CVS,
concerining the disposal of many items of a Table.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=275832

If you still encounter performance problems you should file a bug report
on that.

Regards
Björn

Markus Wolf schrieb:
> Hi,
>
> the JFace Viewers are a bit slow on long lists. We noticed the problem on
> a ListViewer with around 2000 entries. We tried to create a lazy
> ListViewer to solve this, and as expected this is much faster - but...
> With a lazy Viewer it is not possible to select an element by keyboard
> typing.
> E.g. in a non-lazy Viewer when a user wants to select an entry starting
> with the character 'x' he could just type x and the first entry with x is
> selected. This does not work in lazy viewers. Is there a way to enable
> this kind of 'quick-selection'?
>
> Thanks
> Markus Wolf
Re: JFace Viewer Performance [message #133431 is a reply to message #133283] Tue, 19 May 2009 10:09 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: markus.wolf.nmmn.com

Hi Björn,

> are you working with RAP 1.2 M7? There was a performance enhancement on
> TableViewers. See https://bugs.eclipse.org/bugs/show_bug.cgi?id=273433.
>
yes we are using RAP 1.2M7. Its not a general performance issue but the
initial rendering. I know it need some time to render this, but the mouse
cursor does not reflect the busy state of the application and users will
be confused if the click a button and have to wait several seconds.
Sometimes the firefox also shows a message like 'this script is running
for two long. abort?'. This is not good I think.

Thanks for your input
Markus Wolf
--
NMMN - New Media Markets & Networks GmbH
Langbehnstrasse 6, 22761 Hamburg
Geschäftsführung: Kfm. Michael Schütt
Finanzamt HH-Altona - UStID DE 812 699 852 - HRB 71102 Hamburg
HypoVereinsbank - BLZ 200 300 00 - Konto-Nr. 156 29 82

http://www.nmmn.com
Tel.: +49 40 284 118-0 - Fax: +49 40 284118-999
Softwareentwicklung LLynch: -720
Re: JFace Viewer Performance [message #133483 is a reply to message #133431] Tue, 19 May 2009 11:54 Go to previous message
Eclipse UserFriend
Originally posted by: bjoern.bjoernfischer.de

Hi Markus,
we have the same issue in our project. Working with the IE browser the
"do you want to abort the script"-message is shown even much earlier.

There is no real solution for this issue, but you can work around it. In
our project we use a ProgressMonitorDialog to query data in a
TableViewer somewhat like the code below (this can be run somewhere on
the ui-thread, e.g. a widgetSelected() of a button):

------------------------------
ProgressMonitorDialog dialog =
new ProgressMonitorDialog(new Shell(SWT.NONE));

try {
dialog.run(true, false, new IRunnableWithProgress() {
@Override
public void run(IProgressMonitor monitor)
throws InvocationTargetException,
InterruptedException {

monitor.beginTask("Searching orders...", IProgressMonitor.UNKNOWN);
monitor.worked(10);
someHelper.doActualSearch();
monitor.done();
}
});
} catch (InvocationTargetException e1) {
e1.printStackTrace();
} catch (InterruptedException e1) {
e1.printStackTrace();
}
<optional>someHelper.doSetInput();</optional>
------------------------------

Note that this is not copy-and-pasteable code, but shows about how it
might work. The actual query for data happens in
"someHelper.doActualSearch()". Since this method is executed in a non-ui
thread you must either somehow gain access to the ui thread to set the
TableViewer input, or set the input outside of the IRunnableWithProcess
(as the <optional> mark in the code above shows ).

With this solution the user sees a progressbar feedback while the data
is loaded.

I hope this can help you any further.

Regards
Björn

Markus Wolf schrieb:
> Hi Björn,
>
>> are you working with RAP 1.2 M7? There was a performance enhancement on
>> TableViewers. See https://bugs.eclipse.org/bugs/show_bug.cgi?id=273433.
>>
> yes we are using RAP 1.2M7. Its not a general performance issue but the
> initial rendering. I know it need some time to render this, but the mouse
> cursor does not reflect the busy state of the application and users will
> be confused if the click a button and have to wait several seconds.
> Sometimes the firefox also shows a message like 'this script is running
> for two long. abort?'. This is not good I think.
>
> Thanks for your input
> Markus Wolf
Previous Topic:Strange behaviour using ElementListSelectionDialog
Next Topic:TableViewer and vertical scrolling
Goto Forum:
  


Current Time: Thu Mar 28 22:51:48 GMT 2024

Powered by FUDForum. Page generated in 0.05049 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top