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 27791 - Finish new wizard UI responsiveness
Summary: Finish new wizard UI responsiveness
Status: RESOLVED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: Dialogs&Wizards (show other bugs)
Version: 3.x
Hardware: All All
: P2 blocker (vote)
Assignee: Jiri Rechtacek
URL: http://performance.netbeans.org/respo...
Keywords: PERFORMANCE
Depends on: 27710
Blocks: 28959
  Show dependency tree
 
Reported: 2002-10-03 17:16 UTC by _ rkubacki
Modified: 2008-12-23 13:41 UTC (History)
2 users (show)

See Also:
Issue Type: TASK
Exception Reporter:


Attachments
show wait cursor during template's instantiate (3.05 KB, patch)
2003-02-13 19:04 UTC, Jiri Rechtacek
Details | Diff
proposed patch to use the wait cursor (6.29 KB, patch)
2003-02-14 14:16 UTC, Jiri Rechtacek
Details | Diff
consumed time of getIcon() -- current state (130.58 KB, text/html)
2003-02-14 15:17 UTC, Jiri Rechtacek
Details
consumed time of getIcon() -- state with hack (128.12 KB, text/html)
2003-02-14 15:19 UTC, Jiri Rechtacek
Details
hack to getIcon() on sampledir (1.11 KB, patch)
2003-02-14 15:20 UTC, Jiri Rechtacek
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description _ rkubacki 2002-10-03 17:16:51 UTC
Beginning of action: User invokes Finish button on
new wizard
Initial Feedback: Button appears pushed (turns black)
Maximum time allowed: 100 ms
Second Feedback: Wizard disappears
Maximum time allowed: 1000 ms
Third Feedback: The first new "thing" appears on
the desktop (a file in the editor or node in the
explorer, etc.)
Maximum time allowed : 2000 ms (total, from time
Finish invoked)
Final completion may take longer, depending on how
many things need to be created/displayed. Control
should be given back to the user as soon as
possible, hopefully by the 2000 ms milestone.
Comment 1 David Simonek 2002-11-19 16:57:48 UTC
Dafe's measurements - testing conditions: PC Dell Pentium III, 600Mhz,
512 MB memory, JDK 1.4.1, Netbeans Main trunk build, mounted sampledir
local filesystem, opened 8 java source files, 3 plain text files.
times in milliseconds, first number shows first invocation, followed
by subsequent invocations.

Ctrl+N, java source
button: 15, 0
wizard: 281, 156
editor shown: 2344, 1391

popup menu, java source
button: 15
wizard: 890
editor shown: 1015

popup Menu, JInternalFrame (form)
button: 16
wizard: 6359
form shown: 6500
Comment 2 Marian Mirilovic 2002-11-22 10:54:39 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

push finish button in new wizard invoked by popup menu on folder node:
 Finish button feedback     6       8       6
 New class - SE opened   4018    1089    1060
 New class - SE closed   4249    1073    1084

Test cases described on page :
http://performance.netbeans.org/qa/TestSuites.html#finish_new_wizard_java_Main_SE_opened
Comment 3 Tomas Pavek 2002-11-22 15:48:10 UTC
I've measured complete pass through the new wizard. Measured the first
use after startup,  build 200211150100, JDK1.4.0, W2K, PIII 733MHz,
512 MB RAM.

open (Ctrl+N on package)                 593,  641,  625
expand Java Classes node                2406, 2188, 2187
move to next step (to Target Location)  2172, 2250, 2437
finish (create and open file)           4547, 4594, 4563
Comment 4 Tomas Pavek 2002-11-22 15:54:16 UTC
The finish time is related to issue 27710.
Comment 5 David Simonek 2002-12-06 15:25:27 UTC
passing to wizard subcomponent.
Comment 6 Jiri Rechtacek 2003-02-13 19:04:05 UTC
Created attachment 8941 [details]
show wait cursor during template's instantiate
Comment 7 Jiri Rechtacek 2003-02-14 14:16:11 UTC
Created attachment 8962 [details]
proposed patch to use the wait cursor
Comment 8 Jiri Rechtacek 2003-02-14 15:15:16 UTC
I propose use the wait cursor when performed the action Back<->Next
and when TemplateWizard is finished. The wait cursor will be used in
all wizard which extends WizardDescriptor.
The wait cursor on Finish will be painted in TemplateWizard when the
template is being instantiated. The patch notable improves wizard's
responsiveness.
Comment 9 Jiri Rechtacek 2003-02-14 15:17:56 UTC
Created attachment 8964 [details]
consumed time of getIcon() -- current state
Comment 10 Jiri Rechtacek 2003-02-14 15:19:13 UTC
Created attachment 8965 [details]
consumed time of getIcon() -- state with hack
Comment 11 Jiri Rechtacek 2003-02-14 15:20:47 UTC
Created attachment 8966 [details]
hack to getIcon() on sampledir
Comment 12 Jiri Rechtacek 2003-02-14 15:44:31 UTC
Observation: TemplateWizard, action "Next" from 1st panel (template
chooser) to 2nd panel (target chooser), selected "Java Class" template
-- java parser takes 38% of total time to indicate the set of future
steps (at left side of wizard frame), it's correct, of course, but
expansive, for now I propose leave as is

-- getIcon() on sampledir takes 6% of total time, the icons of
standard filesystem is fast recognized by core/RootFolderNode, I
attached a hack which adds the sampledir among the wellknown
filesystems (cp. getIcon_pre vs. getIcon_post), But I'm not going to
applied this hack, it seems too dirty because adds a weak dependence
core<-userguide module.

Some comments?
Comment 13 jrojcek 2003-02-17 12:22:33 UTC
Only one comment:

Wait cursor should be shown over the whole wizard when the
previous/next button is pressed.
Comment 14 Jiri Rechtacek 2003-02-17 15:10:12 UTC
Thanks Jano, I changed the target for wait cursor from the buttons to
whole wizard pane. It works for me, I'm going to commit to main trunk
quickly.
Comment 15 Jiri Rechtacek 2003-02-17 15:26:12 UTC
implemented in main trunk:
Revision  Changes    Path
1.78      +32 -1     openide/src/org/openide/WizardDescriptor.java
1.68      +70 -24   openide/src/org/openide/loaders/TemplateWizard.java