February 13, 2014

The wonderful side benefit of NoSplash

Have you ever wondered why the progress runtime (prowin32.exe to be precise) takes such a long time to start? Especially in comparison to other runtimes like JVM or CLR?

The surprising answer is: It doesn't take long. It just sleeps for 2 seconds while showing the well known blue splash screen (or the orange one if you are on the latest version).
Progress splash image

On my machine it takes 2.15 seconds to start prowin and run a simple procedure containing just a QUIT statement. If we turn off the splash screen by using NoSplash=yes in our progress.ini file, it only takes 150 ms.

To get rid of the splash screen completely - e.g. on your development machine - you don't have to create a progress.ini file for each application. Just add a new String Value named NoSplash to the following registry key and assign yes:

HKEY_CURRENT_USER\Software\PSC\PROGRESS\YourVersion\Startup

This way the 2 second penalty even vanishes when running a program from Developer Studio, where it annoyed me the most.
Progress Developer Studio

Should you already be using a custom ini file with your application (loaded by -basekey INI -ininame file.ini) , the registry settings have no effect. In this case, you have to add the NoSplash entry to the corresponding ini file.

If you ask me, as a developer, Progress should change the default setting and turn the splash screen off, at least for the Developer Studio. And if that is not going to happen, what i assume, please document it more prominent.

I suppose I am not the only OpenEdge Developer who was annoyed by the slow startup, and unaware of the solution. In fact, I knew the NoSplash option for quite a while, but I was thinking that it would only disable the splash screen (not my intent), which kept me from trying it out.

Even if I had checked the Documentation, I doubt it would have put me on the right track. The current description of NoSplash from Deployment: Managing ABL Applications:

Set to YES to turn off display of the splash screen. By default, the OpenEdge GUI client and the WebClient display a splash screen during startup. The screen, which is a blue rectangle with the words “Powered by Progress Software,” disappears when the OpenEdge application starts.

I think it could be described more clearly. Especially the diction "during startup" underpins my wrong intuitive comprehension.

Update

Vote for the idea in the Progress Community: Turn off the splash screen for developers
See the related community discussion: The wonderful side benefit of NoSplash

3 comments:

  1. The wonderful world of Progress... Thx for the tip!

    ReplyDelete
  2. You sir made my day! I knew the ability existed to turn of the splash screen, but never figured it would actually make the startup 2 seconds faster. Thanks!

    ReplyDelete

  3. Thank you for the wonderful article useful information!
    Richard Brown online data room providers

    ReplyDelete