03-27-2023 11:11 AM
@rolfk wrote:
wiebe@CARYA wrote:
@rolfk wrote:
wiebe@CARYA wrote:
It might also help to change the run time size to 1X1 (or maybe 20X20 or something 1X1 might give an error). The FP will still show, but most people (except you ) will notice it.
1x1 is (or at least was last time I tried that, but that is quite a few years ago) not possible. LabVIEW has some minimum size and I think it is closer to 40x40 than 20x20.
Figured as much.
But I don't get any flickering anyway, so I can really test it. My load time is probably too small for my test main. It might still flicker, but so fast I can't see it.
Maybe that would help? Making a dummy splash that has the real main setup as load on first call, so it won't take long to load it.
That was my initial proposal. But it was shut down as not working, supposedly because they did not want to have a splash screen at all. I figured there was not much use to claim it would work anyways without being able to proof it explicitly and I did not feel like spending time to build that thing if the OP could not be bothered to try it himself.
The setup as "load on first call" was new in my proposal.
It might be different compared to a static VI ref or simply a subVI, loading the splash (or main that doesn't splash because it's transparent) much faster. But I really don't know if it works.
Also don't really want to spend much time testing, as in my first test I couldn't really reproduce the problem.
03-27-2023 05:33 PM
Ok I will prepare some test setup as soon as I can. From the discussion I understand that the tricks with transparent FP, hidden FP, off screen FP and super small FP will not work reliably either with FFF or without it. Window will always be displayed and all the setting mentioned above will be applied after it is loaded. So, if I have slow PC or large app to load or both it will always flicker.
The best what I can do is to make start-up VI as small and simple as possible and load the main app after start-up is loaded (probably somehow dynamically). However, as mentioned before, flickering could not be eliminated 100%.
So, in my test setup I should focus on dynamic loading of the main app from the super small start-up vi. I guess for test I should add on the FP some big array with a lot of data saved as default values to artificially make the loading of it longer.
I will share the results.
03-27-2023 06:19 PM
Maybe one more question. If I set FP position off screen and set FP runtime position "unchanged", will it be opened off screen or opened in some default location and then moved off screen?
03-28-2023 03:26 AM
@bienieck wrote:
Ok I will prepare some test setup as soon as I can. From the discussion I understand that the tricks with transparent FP, hidden FP, off screen FP and super small FP will not work reliably either with FFF or without it. Window will always be displayed and all the setting mentioned above will be applied after it is loaded. So, if I have slow PC or large app to load or both it will always flicker.
I think the suggested solutions (FFF off and 100% transparency and optionally the size) works for everyone but you? So yes, it could be because you have a slow PC or a large app, but still I see no confirmation that the tricks don't work, only confirmation that the tricks do work for us, and that they don't work for you.
What we need to proceed is a project that reproduces the problem 100%, so we all know we're trying to fix the same problem. But that could be hard if it requires a large project.
03-28-2023 03:31 AM
@bienieck wrote:
Maybe one more question. If I set FP position off screen and set FP runtime position "unchanged", will it be opened off screen or opened in some default location and then moved off screen?
I don't think so; off screen positions will be moved on screen.
Well, it might work if the moving happens after loading finished, but I doubt it.
It will work if you have two screens and the position is on a the screen that's turned off. Windows can't see if a screen is off or on, so you'd need to disconnect it entirely for a proper test.
03-28-2023 04:42 AM
@bienieck wrote:The best what I can do is to make start-up VI as small and simple as possible and load the main app after start-up is loaded (probably somehow dynamically). However, as mentioned before, flickering could not be eliminated 100%..
I'd try the load on first call:
Traditional dynamically (Open VI Reference) loading might seem easy, but... If you use a static VI reference, the dynamic VI is loaded with the main. If you use a path, the VI needs to be included in the main... All complexity you don't need.
In my (large) app, the results are mediocre though; it still takes ages before the splash shows (6 sec.), and the main shows very shortly (2 sec.) after that.
03-28-2023 04:45 AM
I do it by path, then the splash shows pretty fast.
And yes it requires extra care when building, as you have of course to add the splash/startup as startup VI and the actual main as always included.
03-28-2023 04:48 AM
wiebe@CARYA wrote:
...I'd try the load on first call:
...
In my (large) app, the results are mediocre though; it still takes ages before the splash shows (6 sec.), and the main shows very shortly (2 sec.) after that.
Isn't that because you are doing the load on first call in parallel to opening the startup-VI? Open the startup-VI first, then load on first call.
03-28-2023 05:22 AM - edited 03-28-2023 05:52 AM
@thols wrote:
wiebe@CARYA wrote:
...I'd try the load on first call:
...
In my (large) app, the results are mediocre though; it still takes ages before the splash shows (6 sec.), and the main shows very shortly (2 sec.) after that.
Isn't that because you are doing the load on first call in parallel to opening the startup-VI? Open the startup-VI first, then load on first call.
What really helped was turning "show front panel when loaded" on.
Also, it only worked because my main VI called Exit LabVIEW, if it doesn't (or does) this works better:
EDIT: skip that. For large projects it still takes long to load and show the splash, and than just a moment before the main loads...
03-29-2023 05:19 AM
New tip: Have the main/startup-VI outside any lvlib.
I got the same issue today with a startup-VI that would flicker no matter what. I found that if I move it outside of the lvlib I had it in, there is no flickering.
This happens even if the lvlib is otherwise empty. I created a new lvlib and put a copy of the startup-VI in the lvlib. I also made a copy of the build spec for the exe in the lvlib. I have the build-settings for the exe set to default.
I have attached an example project.