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.
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.
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
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
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
The finish time is related to issue 27710.
passing to wizard subcomponent.
Created attachment 8941 [details] show wait cursor during template's instantiate
Created attachment 8962 [details] proposed patch to use the wait cursor
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.
Created attachment 8964 [details] consumed time of getIcon() -- current state
Created attachment 8965 [details] consumed time of getIcon() -- state with hack
Created attachment 8966 [details] hack to getIcon() on sampledir
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?
Only one comment: Wait cursor should be shown over the whole wizard when the previous/next button is pressed.
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.
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