Annoying white window background flash upon lister opening

When a lister is opened, a white flash the size of the lister, fairly long in duration, occurs prior to the appearence of the lister. This also may be happening on all DOpus dialogs etc., but happening so fast in those other cases that it is not that noticeable(?). You may not notice the white flash as much if you choose to have retina-burning white as the background color of a file display.

Are you seeing that with Opus 11 or Opus 12?

It does not happen here with Opus 12, even if I set the file display background color to black using Preferences / Display / Colors and Fonts / File display background

It might happen if you have changed the background color to black for some folders but not all (e.g. using Preferences / Folders / Folder Formats), such that the initial window uses white and then it only turns black when the folder loads.

Toggling Preferences / Display / Transition Animations / Enable transition animations may also have an effect.

[quote="leo"]Are you seeing that with Opus 11 or Opus 12?

It does not happen here with Opus 12, even if I set the file display background color to black using Preferences / Display / Colors and Fonts / File display background

It might happen if you have changed the background color to black for some folders but not all (e.g. using Preferences / Folders / Folder Formats), such that the initial window uses white and then it only turns black when the folder loads.

Toggling Preferences / Display / Transition Animations / Enable transition animations may also have an effect.[/quote]

I never noticed it before in 11, but I am noticing it now in 12. maybe 12 is taking longer to startup before it paints and therefor the white flash is longer. I noted that the effect would be greater if the background color is changed, and I do change the background color, but still, I would expect that not to happen: I would expect all painting to be done in an off-screen DC and then bitblted to the screen, thereby precluding any remnants from being seen. That said, maybe it's Windows causing that, for other programs on my machine do that too. E.g., starting OpenOffice, the initial screen, one that the user cannot change the color of, the white flash is there. What I am wondering is if developers take for granted that the background will be white and therefor inadvertently ship software with a "built-in" defect (the annoying white flash), but then again, if the off-screen DC technique was being used, I don't think that should happen anyway... unless Windows "clears" the area with a white rectangle prior to any window display(?).

If I set the color to black there's no white here, even if I make the window open over a black desktop where just a hint of white would be easily visible:

leo.dopus.com/posts/Black_Background_Test.mp4

If you're seeing it with other programs when they open windows, maybe it's a graphics driver issue or something more system-wide? Windows 10 Anniversary Update messed with a lot of people's drivers, FWIW.

[quote="leo"]If I set the color to black there's no white here, even if I make the window open over a black desktop where just a hint of white would be easily visible:

leo.dopus.com/posts/Black_Background_Test.mp4

If you're seeing it with other programs when they open windows, maybe it's a graphics driver issue or something more system-wide? Windows 10 Anniversary Update messed with a lot of people's drivers, FWIW.[/quote]

It's happening with pretty much all programs when launched. I have all the latest drivers and such. Someone posted this same issue on a web forum in 2013 but no solution was found. I couldn't find any other relevant links. I posted a question on MS Technet about this.

If it happens with all your programs and not just Opus then it's not really an Opus issue, sorry.

I posted the issue on MS Technet. That said, the Opus developers may want code their software so as to be robust against Windows ailments. It's happening on some pecentage of the systems out there, and many won't "notice" it or just live with it. The thing is, with Opus, one opens MANY listers over the course of a day, so the issue is more of an issue for such a program. There's "meh, few people will even notice", and then there's "quality built in".

So far the only system it's happening on is yours, to all software not just Opus, and it's just as likely to be caused by a faulty graphics card, old drivers, or other clashing third-party software as it is by a "Windows ailment". It's impossible to code software to be robust against all of that.

Well no, the issue is out there on the internet and I've seen it (it's probably still there) in the Chrome browser also (it's in the bug log). I hold that is not just as likely for the items you listed as it is a Windows ailment (and that could be a configuration problem as well), so I'll beg to differ with you on that. I'm not sure if this was one of the problems I encountered (and solved) when I was writing code to prevent flickering of windows and controls, but I can't dig back into that code right now (it was over a decade ago). But, if was working on something like that currently, you bet I'd try to circumvent the white flash with some not-so-clever coding, just to understand what is happening if nothing else. Of course, if there are no machines doing that in GPSoftware's test area, that would make it a bit harder to test code changes. I'll post back here when it gets figured out, but it's not a priority for me right now.

Having said what I said in my prior post, I'll add that Directory Opus can definitely stand to have some time put into the window/toolbar/control painting it does. Open a lister, grab the top left corner and resize the lister slowly. There's some serious "trembling" and flickering going on there. I know that UIs can be coded so as to operate silky-smooth without flicker, trembling, or artifacts--because I've done it, and it's common knowledge how to do that anyway.

I performed this test also: I set the background colors of Directory Opus UI elments to something other than white (I use a greyish color) while the Windows defaulty window background and application space color was white. When I resize a lister from the bottom right corner, I can see the white flashing on the right and bottom sides. If I set the Windows default window background and application space color to the same as I set the DOpus UI elements background color to, the white flashing does not present itself.

Have you got window animations turned off?


With that off I also see the white flash, but I see it in almost literally every single application (that is capable of drawing a dark background).

It even happens with Command Prompt windows about 50% of the time, and if you resize those you can see they do not erase to white and then paint over it; they just paint black in one pass, so any white is coming from the OS, not the way the program is painting. Command Prompt is also extremely simple, visually, and paints extremely quickly.

It looks very much like an OS-level issue where DWM composition is putting the window on-screen before it has ever been painted by the app, if the animations are turned off. There's nothing anything can really do about that. I doubt anything can paint its window faster than the Command Prompt does. The only exception would be layered windows where you can provide the OS with a bitmap in advance, but those are completely unsuitable for most situations, and could not replace normal windows or painting methods. (Opus already uses them in places where it makes sense to.)

If you're using dark backgrounds then you'd definitely want animations turned on in Windows, as that seems to fix or mask the issue. And the issue is at the operating system level.

Turning-on animations does indeed mask it a bit--it's still there, but it not nearly as pronounced (more like lighting a candle instead of a flashbulb going off). One doesn't have to turn on all the animations though. If you go to System Properties>Advanced>Settings>Visual Effects, there, just check "Animate windows when minimizing and maximizing". I do usuall turn off all the things that slow down the UI, but now I'm going to keep that one checked. Nice discovery. It helps a bit. I'll report back after the issue has gone as far as it can (hopefully resolved) on TechNet.

That said, I'd rather have a "snappy" UI than a "sluggish, fade-in" one, so this is a compromise: white flashing and snappy UI, or fade-in and sluggish UI.