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 27777 - Improve responsiveness of expanding folders (packages) in Explorer
Summary: Improve responsiveness of expanding folders (packages) in Explorer
Status: RESOLVED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: Explorer (show other bugs)
Version: 3.x
Hardware: All All
: P2 blocker (vote)
Assignee: Jiri Rechtacek
URL: http://performance.netbeans.org/respo...
Keywords: PERFORMANCE, UI
Depends on: 29828 30014 30772
Blocks: 26581
  Show dependency tree
 
Reported: 2002-10-03 15:07 UTC by _ rkubacki
Modified: 2008-12-22 22:39 UTC (History)
5 users (show)

See Also:
Issue Type: TASK
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description _ rkubacki 2002-10-03 15:07:51 UTC
Beginning of action: Click expand icon or use key
command (first time this session)
Initial feedback: Turner icon appears turned
Max time: 100 ms
Completion: All children shown
Max time: 1000 ms
All susequent expansions in the same session
should complete in 100 ms
Comment 1 Tomas Pavek 2002-10-11 10:29:39 UTC
The immediate feedback is the most important here. Mainly for opening
folders with many files, which might take quite long time. Currently,
the expanding (turning) icon disappears (like there would be no
content), after some time the icon appears again (as expanded) and
subnodes appear too. This is not good. There should be clear immediate
feedback that the nodes are computed. So e.g. the icon expands
immediately and a "wait" node is shown, replaced by real nodes when
they are available. The wait node should appear within 100ms.

Appropriate feedback is just one part of the solution. The performance
itself should be improved too, expanding folder (mainly with java
sources and especially for the first time) may last very long (seconds).
Comment 2 Tomas Pavek 2002-11-08 16:58:26 UTC
Issue 28596 could help in the first time invocation case.
Comment 3 Tomas Pavek 2002-11-20 16:33:44 UTC
We migth also consider canceling automatic file parsing - this would
speed up the first invocation (parser and related classes would not be
loaded), and also the subsequent operations (no parsing running on
background).
Comment 4 Marian Mirilovic 2002-11-21 17:03:25 UTC
Marian's measurement (time in milliseconds):
conditions: 
 - SUN UltraSparc60 / 512 MB RAM / Solaris 5.8 / CDE
 - JDK1.4.1(01)
 - [nb_dev](200211140100) , MDI
        - mounted sampledir

expand nodes in explorer :
LocalFS (sampledir)     58      2       2
folder (sampledir/examples)
			79      17      4
folder (sampledir/examples/ColorPicker)
			1547    18      19
updated all badges      5424

Test cases described on page :
http://performance.netbeans.org/qa/TestSuites.html#expand_folder_with_20_1kB_txt_files
Comment 5 _ rkubacki 2002-11-25 15:37:33 UTC
Radim's measuring
PIII/800MHz, Linux (2.4.17), 512MB
NetBeans IDE Dev (Build 200211180100)
Java; VM; Vendor      = 1.4.1; Java HotSpot(TM) Client VM 1.4.1-b21;
Sun Microsystems Inc.

mounted sample dir and openide/src directory

Expanding folders

root of openide sources (3 subdirs) 1126
org (2 subfolders) 98
openide (18 subdirs, 7 Java DO, 1 properties DO) 2486
actions (1 subdir, 29 Java DO, 1 properties DO) 895

Comment 6 David Simonek 2002-12-06 15:08:12 UTC
updating subcomponent to explorer, passing to its owner Jiri.
Comment 7 Jeri Lockhart 2002-12-06 18:00:48 UTC
Hi Jiri,
While the node is expanding, I think that the user should be shown the
"progress" cursor.  (This cursor was just integrated into the trunk on
2 Dec 2002 in openide.util.Utilities.createProgressCursor()).

My modules have nodes that I would like to set the progress cursor on
in the explorer while the nodes are expanding.  The cursor would be in
place of, or in addition to, creating a temporary "Please wait" node,
like the Java module does.

I have tried to set the progress cursor in addNotify() of my  Children
subclass, but the cursor is set too late.  I did some experimenting
and found that the following worked:  set the progress cursor when the
tree is about to expand using the TreeWillExpandListener and then
reset the cursor back to the default when the expansion is complete
(treeExpanded(), TreeExpansionListener).  

I would like an enhancement to NetBeans to provide an opportunity to
set the progress cursor when certain types of my nodes are expanded,
and reset the cursor when the expansion is completed.   

If it would be better to open a new Issuezilla for this request I will
do so, please let me know.

Thanks,
Jeri

Comment 8 David Simonek 2003-01-24 13:02:39 UTC
Dusan, I'd like to hear what you think - here is problem: adding
support for wait cursor during folder expand is difficult to do right
and we won't make it to tegal milestones 2 or 3. what will be better
in terms of tegal milestones timeline:
1) provide wait *node* (without wait mouse cursor) and then show all
children at once when they're ready
2) leave it as it is now? 
Comment 9 dpavlica 2003-02-07 15:43:09 UTC
It looks (after internal discussion) that wait cursor and 
please wait node could be displayed together and will be 
used during expanding in the Explorer in general. But I am 
not sure about right milestone...
Comment 10 Jiri Rechtacek 2003-03-03 09:12:59 UTC
Improved together with issue 30014 (Slow first expand of node).