Flashing again with Nvidia Card

That monitor issue sounds like the video driver crashing. I had that happening constantly with the previous 5xx driver that was out prior to the one that just dropped a day or two ago. I had DDU’d and reinstalled a 497 driver from December that I “thought” was working correctly, but I was also still get some weird “screen door effect” when panning the camera that I started noticing on that 5xx driver. So I don’t know if something didn’t get removed by DDU or somehow I didn’t notice it.

Yesterday I DDU’d again and reinstalled the 471.22 Hotfix driver which was a hotfix to the first driver that originally solved the texture flickering last year fully. Everything is working great, no more weird SDE effect etc.

The white flashing thing, that someone mentioned can happen, is usually because people are running mixed refresh/resolution on multimonitor setups. I get them even with chrome or other apps that use directx12, but as soon as I hit WIN+P and set it to only use PC screen, they go away forever. Both screens are 1080p, but my main monitor is a gsync 165hz and my other screen is only 60hz.

Give that a try and see if it helps, if not, try to describe the flashing in better detail or get a short video clip of it. There are like a dozen different types of “flashes” or “flickers” that can happen, so it would help to narrow down why type it is.

I had the old flashing which was fixed and noticed flashing again on the newest Nvidia 5 series drivers. I went back to the last 4 series driver (472.84) and all is good

I am running fully updated Windows 11, I5 10600K with a RTX 2060 using DX 12 and GSYNC compatible monitor at 1440P

Make sure you’re not confusing the two flickering issues which occurred around the same time. Both can be resolved by switching to DX11, but one of them is specifically related to MSAA and can be resolved by simply turning MSAA off.

I have g-sync flickering i had to turn off g-sync

1 Like

No, this has nothing to do with the hardware. I promise. Here’s why.
The EXACT same thing was happening to me during this same time frame. I posted my solution because it was the NVidia driver that was the problem, and when I rolled back, the problem went away.
No troubleshooting helped, not switching to DX 11/12/11/12, not sacrificing chickens, not turning off all the things that make the game look like the game, not dialing down to fuzzy screen level 1 quality, not turning off all my addons, not deleting caches/wtf/config files, nothing helped. I have a multi monitor setup, but one screen runs off the Nvidia card and one screen runs off the onboard Intel video. (no, I didn’t try to play on the Intel side, that screen is devoted to streaming entertainment, I literally can’t read on that screen, it’s super fuzzy)

There’s a direct conflict with the game and the software /drivers that NVidia is applying to the cards.
I would really love it if they would stop pointing fingers at us as the problem, sit down together and work this issue out.

Definitely check your video card’s most recent update. I had an update on Feb 14th, and that was just about the time my problems started.
I have an nvidia 1060, and it was great until then. The update from Driver Version:511.65 - WHQL to 511.79 seems to be the issue. I did the clean uninstall of the drivers, and rolled back to 511.65 and so far, it seems to be working.<

I have updated tonight to the 512.15, and the game is remaining stable with an occasional freeze during a big input of graphic fireworks.

1 Like

Well now the portals inside Oribus are flashing now…and I have up to date drivers from Nvidia …when is this ever going to be fixed so that we don’t have too keep up with this flashing or using older drivers or cutting back too DX11 …I mean I have a fairly new system with all the bells and whistles, I’d like to use it like it should be.

Switch from MSAA to something like CMAA for antialiasing. That’s the main cause of the model flickering, when using DX12. If your brain starts wigging out about slightly less edge quality, supersample to 125% or something. Should cost your PC roughly the same performance as 4 or 8x MSAA.

1 Like

For me, the flickering seemingly went away on it’s own, but occasionally the game will freeze in place for about 30 seconds or so and proceed to act normal. I did everything suggested, running diagnostics to even a factory reset of my laptop.

I’m still convinced there’s something in blizzards latest patch thats interfering with Nvidia cards. WoW is the only game this happens on.

If that were true, then everyone using an Nvidia card updated to the latest drivers would be having that issue and they are not. I haven’t seen the issue at all, and know a great many other players that have Nvidia cards that haven’t either.

1 Like

Still doesn’t explain why WoW is the only game acting up after the latest patch.

This isn’t accurate, Jetsum.
You can have 100 iphones with all the same software and 5 or 6 will have some funky thing going on. There will be one that won’t work right at all. One will only have the farts when it was nowhere near a troubleshooter.

Everyone’s pc is different to the power of millions. There will be ones that work fine and ones that won’t work right at all.

3 Likes

Any driver that falls under:

49x.xx
51x.xx

is affected by this flicker. I refuse to go back to drivers older than 49x.xx due to CVE.

RTX 2080

For now, just use DirectX11 mode or disable MSAA (use CMAA or bump the render resolution to something like 125%)

The suggestions you have provided to work around the problem were supplied the last time this was an issue by various members. It is not a solution and not everyone will want to.

DX11 is terrible performance (Up to 30% bump in CPU) and not ideal in any form. The game no longer supports Exclusive Fullscreen. Which means it passes through DWM. Increased input latency. You also lose access to RT shadows. Which I quite like.

I don’t use MSAA as this incurs a significant performance impact. Likewise, render resolution at 125% or even 150% is just as heavy. I use CMAA and still get flickering.

Drivers in 47x.xx range do not present this flickering. However, they have known CVE listings that have been marked as critical/severe.

Every single thing passes through the DWM now. There is no such thing as full screen exclusive now. Even if games still use the old flags for FSE mode, it just get interpreted by the DWM and still internally renders as if it were borderless fullscreen on single planes. There is no real input lag between the two modes now and only a very tiny bit of overhead for the DWM (like 50mb of ram and maybe an average of 0.5% CPU).

That’s because starting with a certain series of driver around then, Nvidia completely enabled multiplane overlays, as did Microsoft around then as well. There’s still some bugs between all the APIs and/or game rendering engines, that are causing these flickering issues.

If you’re deadset on staying on DX12, the only other suggestion I can make is to try disabling multiplane overlays and don’t use MSAA if it still continues to flicker for you:
https://nvidia.custhelp.com/app/answers/detail/a_id/5157
(make sure to reboot after disabling it, in order for the changes to take effect)

Edit: One annoying thing about dx11 mode in WoW though is that it’s “11 on 12” mode, but lacks the right flags to tell the drivers it’s in a Fullscreen mode, so it doesn’t properly engage gsync. I think 11 legacy still does though. But that happens with all games that use 11 on 12. Maybe Microsoft will fix it someday, but it causes a lot of headaches in development and bug testing.

Every single thing passes through the DWM now.

That is not true. DX12 uses a flip model that bypasses DWM. Here is the relevant documentation from Microsoft. https://docs.microsoft.com/en-us/windows/win32/direct3ddxgi/for-best-performance--use-dxgi-flip-model

Again, I do not use MSAA. I can provide an example clip of flickering showing CMAA is in use if you’d like. And yes I have heard about MPO. I have tried the disable and enable registry adjustments. Unfortunately they no longer effective due to driver level changes and Windows changes. It was possible but no longer is. I still get flickering with either registry state. That too was linked when this issue initially popped up a year ago.

I don’t use Gsync. I don’t have a compatible monitor.

It seems this is back to just being completely broken for users who are unfortunate enough to have it happen. I have tried everything I can. The flicker doesn’t go away with DX12 no matter what I do.

The swapchain part, yes. That just skips rendering desktop window content, but everything still goes through like usual on a single plane. DXGI flip still goes through the DWM( https://docs.microsoft.com/en-us/windows/win32/direct3ddxgi/dxgi-flip-model) it just doesn’t have any more “work” done on it while at that step. But there’s a ton of caveats to it all. Without turning this into a 20 page essay here’s some key parts to note:

  1. DirectFlip with multi-plane overlay (MPO): Your swapchain buffers are within some hardware-dependent scaling factor of your window dimensions. The DWM is able to reserve a dedicated hardware scanout plane for your application, which is then scanned out and potentially stretched to an alpha-blended sub-region of the screen.

Windows 10/11 current builds and the latest Nvidia drivers use MPO. So even if you set your program to use the flip mode, it’s still not going to benefit you at all because it’s all going to be ran through the MPO compositing systems.

Flip model swapchains have a few additional requirements on top of blt swapchains:

1. The buffer count must be at least 2.
2. After [Present] calls, the back buffer needs to explicitly be re-bound to the D3D11 immediate context before it can be used again.
3. After calling [SetFullscreenState], the application must call [ResizeBuffers] before Present.
4. MSAA (multisample anti-aliasing) swapchains are not directly supported in the flip model, so the application will need to do an MSAA resolve before issuing the Present.

I highlighted some important parts to note. This article is dated though and needs to be updated. Also, it’s completely leaving out the fullscreen optimizations for fullscreen borderless windowed mode, which is almost the exact same performance as FSE, minus a very tiny bit of overhead. Talking like 1% differences at best.

The last time I checked, it still worked, but that was a handful of months ago. You just have to periodically make sure it’s still disabled. I think new drivers or occasional windows updates will flag it back to enabled.

I have thought about using diagnostic capture softwares to dig into the shader code being ran, but I know it’s a grey area for potentially getting banned because they might ban me for “reverse engineering” even if I don’t use it to make anything or exploit anything.

My guess is that there’s something going wrong in the way Blizzard or DX12 is handling using the CPU to batch draw calls, that are then sent to the GPU to be rendered. Very very few games have this DX12 flickering issue. The object flickers seem like they are hitting some kind of null/NaN/zero state, that’s causing the GPU to render them black. Maybe it’s some kind of async issue where something isn’t finishing in time and the rendering thread says “I don’t care if you’re not finished, screw it, we’ll render without you anyways.”

OHHH and try this real quick: Hit Windows+P and set it to single monitor. See if that fixes the problem. If it is tied to MPO issues, this might help get to the bottom of the issues. A lot of people will have mismatched refresh rates on displays and it could be that the DWM is getting out of sync with stuff trying to line up frames for the displays.

I’m unable to see any difference. It was one of the first things I tried. Going all the way back to a 46x.xx driver where it is the worst, disabling MPO helps. Something has changed for it to not make a difference now with most recent handful of drivers. I just can’t accept using vulnerable drivers.

I only have one monitor. No room on the desk for two. Lol. But interesting point nonetheless.

In regards to your brevity with the API, I have a haunch this all has to do with DX12 “Ultimate”. Filtering through release notes, 451.48 introduced it. Windows installs 456.71 if you are connected to the internet and don’t have a driver. The problems really didn’t pick up until 460.xx. In fact, 446.14 actually nets performance improvements for wow, eliminates all issues, but degrades Forza.

Somewhere around 460-470ish drivers are when Nvidia flipped MPO on. Up until then, they weren’t really using the system. MPO has been around since Windows 8, but it didn’t get fully turned on until a certain build of Windows 10. A lot of the issues have been caused by MS changing one thing, then Nvidia trying to correct/refactor around some change, then MS changes around thing and now Nvidia has to catch up again. Now compound those issues with game engines playing cat and mouse and you’ll see why some issues like this persist, when everyone gets out of sync with each other.

The problem with downgrading drivers below that is that they are missing out on a lot of the optimizations for DX12. I remember doing a lot of in depth benchmarking around the time when it was an issue with WoW. Prior to the new flavor of drivers, you’d see a MASSIVE decrease in DX12 performance in WoW. Talking like a 30% drop in frame rate, maybe more, when there were a lot of particles on screen. Not to mention, it was a horrible stutterfest, due to the way DX12 handles on the fly shader compilation. The newer generation of drivers fixed most of that.

Judging by how few games are affected by this specific flicker bug (the one where individual assets flicker, not the whole screen), this bug definitely rests in Blizzard’s hands now. That’s the big catch 22 of DX12: You need better game engine coding because you need to manage a lot more things on your own.