Jump to content

Recommended Posts

Hi All

I have created several LV .exe’s with file sizes of around the 3Mb mark and have found that they can take up to 10 seconds before their front panels finally appear. This time is radically reduced to say 2 seconds, if and only if, the .exe’s have previously been run on the PC. I have tried various techniques including using a small splash.exe (also created in LV and only 200Kb in size) to call the main .exe, and dynamic loading of portions of the code, but it seems that the load time is not all that dependant upon the size of the LV generated programme being called, but more to do with loading the LV Runtime Engine.

Al l the .exe’s were built using LV 8.6.1 utilising the standard/default settings in the App Builder and no Additional Installers were included .

What is the fastest/best way to have a LV .exe files load and appear to the user?

Is it possible to have the runtime engine load become resident boot up and stay hidden so as to speed up subsequent loading/appearance of the front panels of any LV generated .exe’s?

Link to comment

A splash typically solves this problem. This should contain a dynamic call to your main program. You should try not to have any other subVIs in it besides the dynamic call. Keep it very light. You should also display the front panel of the splash first, then do the dynamic call.

Hi Michael

I still seem to be having issues with LV .exe load speeds. The main one being the load time, the first time the .exe is opened since the PC was booted up. Once the .exe has been run once it will open almost instantly there after.

I have tried creating a very minimalist LV .exe with nothing in it but a small low res image of the splash image I wanted to use on the front panel and a simple call to the “System Exec” pointing to the main .exe: This did improve the load time from around 10 seconds to about 7 seconds for the first running of the programme. All subsequent calls were almost instantaneous and remained so until the machine is subsequently re-booted.

I have tried following your suggestion of making a dynamic call to the main VI. This did not seem to improve the load time much at all for the first running of the programme and was much the same as the above method.

I suspect there is an issue with the time it takes for the LV runtime engine to come up to speed?? Is it the case the LVRTE remains in memory once its been used and that this is the reason that subsequent calls to any LV.exe are very fast? If this is the case can the LVRTE be forced into memory at bootup?

Link to comment

Hi Michael

I still seem to be having issues with LV .exe load speeds. The main one being the load time, the first time the .exe is opened since the PC was booted up. Once the .exe has been run once it will open almost instantly there after.

I have tried creating a very minimalist LV .exe with nothing in it but a small low res image of the splash image I wanted to use on the front panel and a simple call to the “System Exec” pointing to the main .exe: This did improve the load time from around 10 seconds to about 7 seconds for the first running of the programme. All subsequent calls were almost instantaneous and remained so until the machine is subsequently re-booted.

I have tried following your suggestion of making a dynamic call to the main VI. This did not seem to improve the load time much at all for the first running of the programme and was much the same as the above method.

I suspect there is an issue with the time it takes for the LV runtime engine to come up to speed?? Is it the case the LVRTE remains in memory once its been used and that this is the reason that subsequent calls to any LV.exe are very fast? If this is the case can the LVRTE be forced into memory at bootup?

No, the LabVIEW runtime does not stay in memory, but Windows does something called application caching. Applications and DLLs once loaded do stay in a special cache that can be activated almost instantaneously on subsequent launches. Without this Internet Explorer would be such a pain to use that nobody would use it anymore. In the case of IE, Microsoft cheats even more as most of the IE engine is part of the shell that gets loaded when you startup Windows and the Explorer instance that displays the desktop.

Rolf Kalbermatter

Link to comment

I have tried creating a very minimalist LV .exe with nothing in it but a small low res image of the splash image I wanted to use on the front panel and a simple call to the “System Exec” pointing to the main .exe: This did improve the load time from around 10 seconds to about 7 seconds for the first running of the programme. All subsequent calls were almost instantaneous and remained so until the machine is subsequently re-booted.

7 seconds?? I am suspecting something else like windows. Did you try running the exe on some other machine that has LVRTE installed? Sometimes windows shell get slowed down and it may not be LV exe thing.

Link to comment

Yes, I have run the programmes on several different machines. The load time varies considerably with the machine type/pwer used, but it is always the case that the very first running is way slower than all subsequent runnings.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.