If you dynamically call a VI, it is loaded into memory and run only when it is needed. You do this with VI Server functions. In LabVIEW 6.1, go to Find Examples>Programtically Calling VIs>Dynamically Loading and Calling VIs to find how to do this. In your case, you could have a small splash screen VI that loads quickly and inside of it, dynamically calls a main VI. When the main VI is finished loading, the splash screen window is then closed. You can find an example of this at http://zone.ni.com/devzone/explprog.nsf/webmain/E9C0939054249DCA86256A370074AFB8?opendocument&node=DZ52054_US