Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » JFace » [BUG?] Performance problem with TreeViewers under Windows XP
[BUG?] Performance problem with TreeViewers under Windows XP [message #490899] Mon, 12 October 2009 06:22 Go to next message
Simon Chemouil is currently offline Simon Chemouil
Messages: 24
Registered: July 2009
Junior Member
Hello,

I believe I discovered a performance bug in JFace TreeViewers when a
given node has many children (> 1000), and this bug happens only on
Windows (tested with Windows XP, no WPF backend). I am developing under
GNU/Linux and the GTK backend the treeviewers behave perfectly fine there.

I have tested the performance with both lazy and non-lazy Tree content
providers (ILazyTreeContentProvider & ITreeContentProvider) and the
lazy+virtual style is completely unusable under Windows XP in this
usecase (with as little as 1000 children, which seem reasonable) because
the scrollbar/keyboard scrolling is sluggish.


When using a non-lazy content provider, the Windows scrollbar behaves
perfectly fine, but the selection of items remains very sluggish, as
well as keyboard navigation using arrows.


None of these problems happen under SWT over GTK, so it might be a SWT
problem, but I experience them from the JFace level (I don't have much
experience with virtual style directly in SWT).

As I am unable to provide a patch/fix for the bug, I have isolated the
problem in a demonstration bundle that displays a simple model ; it
defines two views with treeviewers displaying the same model, one with
the lazy content provider, and the other without.

I have commited it to github where you can checkout the tree or simply
download as a zip file:
http://github.com/simon-chemouil/org.eclipse.jface.viewers.t ests.performance

More details are in the README file.

I would be grateful if a JFace/lazy expert could have a look and check
if I'm doing things right (which I believe I am, I'm following the API
carefully, checked all the relevant bugs on Bugzilla), and confirm
whether it is or not a bug.

I'm posting here instead of Bugzilla because I think this is the nominal
use case to have 10k elements under Windows XP and I would be really
surprised if there was no workaround.

Thanks for the help!

--
Simon Chemouil
Re: [BUG?] Performance problem with TreeViewers under Windows XP [message #490900 is a reply to message #490899] Mon, 12 October 2009 06:40 Go to previous message
Thomas Schindl is currently offline Thomas Schindl
Messages: 5277
Registered: July 2009
Senior Member
Hi,

If something works appropriate under GTK but fails on Windows it's very
likely a SWT problem. I know that Windows has problems with Big
Tables/Trees but the people over at the swt newsgroup might have more input.

Tom

Simon Chemouil schrieb:
> Hello,
>
> I believe I discovered a performance bug in JFace TreeViewers when a
> given node has many children (> 1000), and this bug happens only on
> Windows (tested with Windows XP, no WPF backend). I am developing under
> GNU/Linux and the GTK backend the treeviewers behave perfectly fine there.
>
> I have tested the performance with both lazy and non-lazy Tree content
> providers (ILazyTreeContentProvider & ITreeContentProvider) and the
> lazy+virtual style is completely unusable under Windows XP in this
> usecase (with as little as 1000 children, which seem reasonable) because
> the scrollbar/keyboard scrolling is sluggish.
>
>
> When using a non-lazy content provider, the Windows scrollbar behaves
> perfectly fine, but the selection of items remains very sluggish, as
> well as keyboard navigation using arrows.
>
>
> None of these problems happen under SWT over GTK, so it might be a SWT
> problem, but I experience them from the JFace level (I don't have much
> experience with virtual style directly in SWT).
>
> As I am unable to provide a patch/fix for the bug, I have isolated the
> problem in a demonstration bundle that displays a simple model ; it
> defines two views with treeviewers displaying the same model, one with
> the lazy content provider, and the other without.
>
> I have commited it to github where you can checkout the tree or simply
> download as a zip file:
> http://github.com/simon-chemouil/org.eclipse.jface.viewers.t ests.performance
>
>
> More details are in the README file.
>
> I would be grateful if a JFace/lazy expert could have a look and check
> if I'm doing things right (which I believe I am, I'm following the API
> carefully, checked all the relevant bugs on Bugzilla), and confirm
> whether it is or not a bug.
>
> I'm posting here instead of Bugzilla because I think this is the nominal
> use case to have 10k elements under Windows XP and I would be really
> surprised if there was no workaround.
>
> Thanks for the help!
>
Previous Topic:Get imagefilename for a column of a tableviewer
Next Topic:Disable Context Menu in the TextCellEditor
Goto Forum:
  


Current Time: Wed Aug 20 12:34:00 EDT 2014

Powered by FUDForum. Page generated in 0.02741 seconds