Blank white window when the .exe starts . How can I make a white blank window not flicker, and immediately became visible on the start page? - Forum

Forum Navigation
You need to log in to create posts and topics.

Blank white window when the .exe starts . How can I make a white blank window not flicker, and immediately became visible on the start page?

Colleagues, I'm new to this topic, maybe I missed it, don't mind me.
When I start any compiled project the first thing I see on the screen is blank white window, and then after about half a second I see the start page design.
I tried compiling different sample projects - the same.
I tried compiling in NeoBook and ViseolNeoWin - the same.
Tried compiling in different modes, same result.

How can I make white blank window not flicker, and start page become visible at once?

 

Darbdenral has reacted to this post.
Darbdenral

@leopold

This is strange program behavior. Try to run your project with administrator rights, exclude VisualNEO Win from antivirus (if you use it). If it doesn't help, run your project on another computer to see if this behavior repeats there.

@vadim,
I followed all your advice - no result.
Tried on other computers, everything is ok on XP, ok on Win 7, on Win 10 LTSC - the same problem with any options.
Something in the Windows shell, it seems

@leopold

Do you use any plugins in your project?
Try to disable them one by one to figure out which one affects you.
Can you make a project with only this problem and nothing else? So that we can replicate it in our place.

Again, I tried compiling different sample projects that come with the program - the same thing.
Well here is one of my sample projects.
One plugin is used there.

Uploaded files:
  • You need to login to have access to uploads.

@leopold

Yes, indeed, for about 0.1 second I have the program window empty and white at first and only then the window contents are rendered. I checked on a completely empty new project, adding only a page fill color in the page properties. The behavior is the same on NeoBook 5.8.7 and VisualNEO Win.

I guess I just didn't pay attention to it )).

No guarantees, but maybe Hans-Peter (@hpw) can fix it in the future.

For now, if it's annoying when loading the program, you can compile the project in tray-application form. But there will still be this effect when called from the tray. To mask the flicker, you can use a different type of fill, such as a photo with white around the edges, and then the change in background (from white window to photo) will not be noticeable.

Darbdenral has reacted to this post.
Darbdenral

@leopold..  Yes, I can confirm too! I'm seeing the same behavior on a screen saver I just created.  My background is black, but at start-up a blank white screen displays first for a split second..

Hello,

As Leopold told it seems OK on XP an Win7.

So MS break it on Win10.

One thing you may try is to use a Splash screen, which is shown before the start screen.

Regards

Hans-Peter

luishp and Vadim have reacted to this post.
luishpVadim

By the way, yes, the screen saver idea is great!

Darbdenral has reacted to this post.
Darbdenral

@leopold

You can stop the blank white window flashing up in your Project if you really need to, by creating it with a Custom Shaped Window, rather than a Standard Window.

See Samples like Cool Calculator, which do not show this white window effect. (May also point the developers in the right direction to fix when run in a Standard Window.)

luishp, Vadim and 2 other users have reacted to this post.
luishpVadimCN_Icemanleopold

@leopold

Yes, indeed, the method suggested by @paultomo works. I made a masked window and found no flicker.

 

Darbdenral has reacted to this post.
Darbdenral

Yes, indeed, the project window by mask does not give the flicker effect.

I know I'm a month late, but ....  If you were to start it with the initial position of outside left, and then programmatically move it center screen a second later, this too might work ?

Darbdenral has reacted to this post.
Darbdenral
Quote from rcohen on November 5, 2022, 11:16 pm

I know I'm a month late, but ....  If you were to start it with the initial position of outside left, and then programmatically move it center screen a second later, this too might work ?

The flicker depends on a few variables, such as the speed of the PC and how actions are stacked in your code. I agree with @rcohen ... Try to keep objects off-screen until they are needed. You can keep them to the left of your work area and slide them in when they need to be visible. If something flickers, cover it with a rectangle for example until the flicker stops and then remove the rectangle. There are a few ways to hide and animate objects, but the secret is how to make the user's experience visually pleasing. The legacy IE WebBrowser object is always white. There is no way to change the background color. It will be white until the page loads. So, cover it with a rectangle of the background color you want until the page loads. Then remove the rectangle. But remember that page loading time also depends a lot on the end user's PC.

 

"Yes, indeed, for about 0.1 second I have the program window empty and white at first and only then the window contents are rendered." @vadimm 

I am almost certain the flicker is caused by the old Internet Explorer's WebBrowserObject when loading, and that there will be no flicker if you use the neoEdge.exe WebView2Loader instead.

@fkapnist

I am almost certain the flicker is caused by the old Internet Explorer's WebBrowserObject

No, the program window looks white for a small fraction of a second even if no object is in use, including the browser.

You can try flooding the start page with color and running the compilation. You will see a white window for a moment and only then a color.

(This is true for VisualNEO Win projects)

It happens so fast, I never paid attention to it :)).

 

 

luishp and fkapnist have reacted to this post.
luishpfkapnist

An original way of solving this bug was found.
In the properties of the project set the initial position of the application window "outside left".
Create timer1, say 1 second,
and set commands for this timer :

SetVar "[WindowLeft]" "[ScreenWidth]/2-[PubWidth]/2"
SetVar "[WindowTop]" "[ScreenHeight]/2-[PubHeight]/2"
TimerStop "Timer1"

These commands will set the application window to the center of the screen.

luishp, Vadim and 4 other users have reacted to this post.
luishpVadimGaevproforma.guyotrcohenRobert Marquardt