A lot has been written about delays associated with the launching of a Java program. In simple terms the start-up delay may be divided into two components:
Delay-1 in loading the application by the Java Virtual Machine (JVM).
Delay-2 that the Unravel program introduces between executing its first instruction and displaying its main frame window.
While there are many contributors to the start-up delay, it has been observed that Delay-1 has always been very much greater than Delay-2.
When the Unravel program is launched from the browser as an applet, Delay 1 is usually minimal. When the Unravel program is launched from the user's computer for Web Start operation by running the downloaded JNLP file (urvwbs.jnlp) for the Unravel program, Delay-1 is significant. It includes time for the download of the application to cache and response to a security dialog.
Whether launched on-line or off-line, there will be a delay introduced by the bytecode verification process that takes place before the JVM commences bytecode interpretation. The "cold" start time (time taken to load the JVM when it hasn't been loaded before during the session) is longer than the "warm" start time when the JVM has already been loaded.
During Delay-2 the Unravel program displays a progress bar splash screen. The Delay-2 initialisation time is longer if directories and files need to be written to the Unravel work area on the user's disk.
Start-up times can be greatly increased if resource-hungry background programs (e.g. anti-virus system scan) are running simultaneously.
Normally, the Unravel program does not place high demands on computing time, so once the start-up delay has terminated, the user should experience very few disturbing delays. However, there may be a significant delay when scrambling cubes of very large size. There may also be a noticeable delay when General help is first requested after the program starts running.