From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Splash screen is not displayed before loading VIs into memory

I have a project with a deep VI hierarchy, the executable that built from this project takes ~10 seconds to load all the VIs and show its front panel.

 

That's why I decided to add a splash screen vi to dynamically load the Core.vi, the BD looks like this:

snipt.png

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I also set the priority of the splash screen vi to the highest.

Nochenon233_0-1592465440535.png

 

However, the new executable takes ~9s to display the splash screen😂... the front panel of the core.vi shows up shortly after.

 

How can I show the splash screen immediately after the user opens the executable?

 

Thanks in advance!

 

 

0 Kudos
Message 1 of 7
(2,371 Views)

@Nochenon233 wrote:

I also set the priority of the splash screen vi to the highest.

Nochenon233_0-1592465440535.png


That is not necessary.  In fact, I have actually seen that cause issues on a Windows machine.  Just leave it at a normal priority.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 2 of 7
(2,334 Views)

Splash screens, and just getting a VI to display its front panel when you want it to, instead of when LabVIEW wants to, has always been a bit tricky (especially delaying front panel showing, which is the opposite of what you are trying to do).

 

Try to explicitly open the front panel using dataflow to ensure that's one of the first things that happens.  Definitely have it happen before you load your main VI.

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 3 of 7
(2,326 Views)

Thanks, noted!

0 Kudos
Message 4 of 7
(2,309 Views)

Hi Bill,

 

Thanks for the reply, unfortunately, the issue seems persists:

Nochenon233_0-1592492736609.png

 

I also prepared a project (LV2019) for you (or anyone who is also interested) to test, which contains two core VIs, one referenced a huge set of dependencies, and the other is blank. The build specifications are already set up, you only need to build and try yourself.

 

Nochenon233_1-1592492979947.png

 

Regards

 

0 Kudos
Message 5 of 7
(2,303 Views)

Nochenon233,

 

Are you an NI employee?  You have a blue bar.  I'd think you'd have internal resources to help you.

 

One thing I noticed.  You have a case structure with a False wired to it, and a bunch of dependencies in the true case to "increase dependency complexity".

Note that when the is compiled into an executable, the compiler recognizes that none of those subVI's are called and will strip them from the .exe.  This was a compiler change around the time of LabVIEW 8.0  (??).   If you want to make sure dependencies are compiled, but never run, wire a boolean control set to False to the case structure.  That tricks the compiler into not knowing whether those dependencies would run or not and thus forces it to include them.

 

Another thing, is there a reason you are using LabVIEW 64bit?  General recommendations are to use 32 bit unless there is a specific need such as large data sets that require using 64 bit LabVIEW.  (I don't think that would cause an issue with your splash screen, but you never know.)

0 Kudos
Message 6 of 7
(2,296 Views)

Hi RavensFan,

 

1. Yes, I've already consulted some of my colleagues but they're also not sure, I'll definitely try to dig up more info.

 

2. You got a good point on the second one, however, the compiler will not skip these dependencies in my case because I unchecked "Remove unused libraries" in the build spec.

 

3. Not much of a reason, because everyone is using 64bit...😂

 

Thanks for the suggestion!

Regards

0 Kudos
Message 7 of 7
(2,292 Views)