This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 38851 - Property sheet very slow
Summary: Property sheet very slow
Status: VERIFIED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: Explorer (show other bugs)
Version: 3.x
Hardware: PC Windows ME/2000
: P2 blocker (vote)
Assignee: _ tboudreau
URL:
Keywords: PERFORMANCE
Depends on:
Blocks: 36949
  Show dependency tree
 
Reported: 2004-01-15 17:58 UTC by Tomas Pavek
Modified: 2008-12-22 16:57 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tomas Pavek 2004-01-15 17:58:20 UTC
Updating the property sheet after changing a node
is very slow. The same for switching tab - it
takes apparently longer than 100ms. It is
noticeably dependent on number of properties
visible - e.g. selecting "Code" tab in Form Editor
and collapsing the properties leads to big
improvement over the case when "Basic properties"
are enabled and all categories expanded.

The slowness is a problem in activating the GUI
Editing group, in switching property tabs and when
dragging components (changing nodes) in the form
editor. Generally problem of UI responsiveness.

build 200401141900, jdk 1.4.2_01
Comment 1 _ tboudreau 2004-01-15 18:11:47 UTC
Has the performance changed recently, or was it always like this?

I recently fixed an issue that PropertySheet should not display
properties if Property.isHidden() is true.  It does mean an extra
iteration of the properties, where before I could just throw whatever
the Node gave me into a model.

If it has changed, try running with 

-J-Dnetbeans.ps.showHiddenProperties=true

That will help me to figure out if it's that change that caused the
problem or something else.

The code that handles setting up the tabs could probably be optimized
a bit as well.  Since it looks like I'm going to steal your nice new
UI classes for the Component Palette tabs (thanks!), I can probably do
some optimizing while I'm doing that. 

Also could you try running with
-J-Dnetbeans.ps.nevertabs=true

and see if the performance problem is still there when tabs are not used?
Comment 2 Tomas Pavek 2004-01-16 14:13:58 UTC
According to my observation -J-Dnetbeans.ps.showHiddenProperties=true
has no effect (also form editor does not produce any hidden properties.

OTOH using -J-Dnetbeans.ps.nevertabs=true brings noticeable improvement.

More, I have a feeling that the property sheet (with tabs) slows down
continuously when working like it was dependent somehow on number of
nodes I visit (or something like that).

I'll try to give you some responsiveness numbers if interested.
Comment 3 _ tboudreau 2004-01-16 18:52:52 UTC
Interesting.  Yeah, if you have numbers (or better, profiling data
showing where it's spending its time), that would be quite cool. 
Don't go to too much trouble, though.

If it's slowing down as you go, that's interesting.
Comment 4 _ tboudreau 2004-01-23 09:26:20 UTC
FYI, I paid special attention to how the replacement for the tabbed
pane would perform - hopefully the fix for issue 38703 will fix this
as well - it will be a complete replacement of the code that handles this.
Comment 5 _ tboudreau 2004-01-23 20:25:53 UTC
I haven't tuned the look yet (since I developed it on the mac and things look different 
here), but you might want to try out the replacement for the tabbed pane and see if 
this solves the problem.  The performance seems fine to me, but maybe you were 
doing something different than I am.

If you want, there is a 1 file branch (silly, I know):

cvs co -r ps_new_tabs $NB_SRC/openide/src/org/openide/explorer/propertysheet/
SheetTabbedPane.java
Comment 6 Tomas Pavek 2004-01-25 15:46:54 UTC
I'll give it a try. When it is available in trunk anyway?

BTW I've just tested current build with UI measuring turned on and
really seen the painting performance going down gradually with the
number of visited nodes (e.g. switching to GUI window group changed
from like 400ms to 2500ms).
Comment 7 _ tboudreau 2004-01-26 20:55:14 UTC
Marking this as fixed - the code that was involved has been completely rewritten, and 
I can detect no performance problems with the new SheetTabbedPane.
Comment 8 Tomas Pavek 2004-01-27 10:34:30 UTC
Ok, looks much better now. Verified.