cancel
Showing results for 
Search instead for 
Did you mean: 

Drivers & Software

DimkaTsv
Miniboss

Issues caused by flip-buffer optimization when DX11/12 games are running in background

Issue №1: [OLD but still actual] flip-buffer opimization (aka windowed-game optimization in Windows 11)  can cause sound jitter on alt-tab from and back into game when video playback is happening in background

Originally this issue was tied to Enchanced Sync by me, but root cause of it seems to be flip-buffer model. This issue is at this point LONG lasting, but not breaking anything. After 22.10.2 it appears as much less frequent with Freesync being enabled, but It becomes MUCH worse if Freesync is disabled. Visible (hearable) result of this issue is consistent sound stutter when person switches between borderless-windowed or borderless-fullscreen application and different window (alt-tab). Video playback must happen in background (with sound). Related track for this is consistent 100000-200000+ microseconds (100-200 ms) both interrupt to DPC as well as 100000+ microseconds (100+ ms) dxgkrnl.sys DPC routine execution time by LatencyMon

Games that were confirmed as affected (basically any DX11/DX12 game when running not in fully exclusive fullscreen mode)
1) Warframe
2) Black Desert Online
3) Divinity 2: Original Sin
4) Pathfinder: Wrath of the Righteous (frequency less... cause is lower FPS?)
5) XCOM 2: War of the Chosen
6) Witcher 3
7) Path of Exile (DirectX 11, DirectX 12)
Magic the Gathering Arena (it also caused me black screen with system lockdown being in background. Was forced to hard reset PC)
9) Destiny 2 (windowed-fullscreen or borderless windowed...)
10) Call of Duty MW2 Warzone (borderless fullscreen - only when you alt+tab OUT of game, borderless-windowed - both on out and in)
11) Call of Duty Warzone (borderless-windowed)
12) Blood Bowl 2 (locked to 60 FPS, stutter only on return, happens instantly)

Games and cases that were NOT affected
1) Elden Ring (too low FPS? True fullscreen?)
2) Path of Exile (VULKAN)
3) King's Bounty (NOT King's Bounty II !!!)... (DirectX 9? Different type of exclusive fullscreen mode?)
4) Minecraft (OpenGL? It also have issue when taskbar overlays on game window if it runs not in fullscreen mode. But this is not AMD issue.)
5) Destiny 2 (Fullscreen mode. I was surprised there was no return stutter, actually!)
6) Call of Duty MW2 Warzone (Exclusive fullscreen, no return stutter)
7) Call of Duty Warzone (Exclusive fullscreen, no return stutter)

More details about this issue:

1) Seems like only DirectX 11 and DirectX 12 are affected. Also only borderless-windowed, borderless-fullscreen modes are affected.
1.2) Exclusive fullscreen as well as windowed modes aren't affected. OpenGL and VULKAN also likely aren't affected. I am not sure about DirectX 9 as there is not much to test with, but should be fine?...

2) When ENCHANCED SYNC vsync mode is used with FREESYNC=OFF (on driver level) state (both with FORCE OFF or FORCE ON mode in background, as they still affect behaviour)- alt+tab to another application (even to Notepad++ i wrote this notes with) will almost guaranteed cause sound stutters.
2.1) Disabling Freesync from monitor side doesn't change overall behaviour.
2.2) When you RETURN to the game there will be another sound stutter, but about 2-3 seconds later. After that, there will no be stutters unless you try alt+tab again
2.3) Depending on windowed-fullscreen realisation there can be sound stutter either on attempt to go out from application, or after you return back. Some fullscreens are actually only in name such, and actually are borderless-fullscreen. True fullscreens take some time to return back into game and there will be no sound stutter seconds after.

3) When you use FORCE OFF vsync mode (enchanced sync disabled) and FREESYNC=OFF state, there are no lags or sound stutters on alt-tab. Even if i have global vsync set as FORCE ON in background.
3.2) Where there is ENCHANCED SYNC + FREESYNC both enabled at same time, issue becomes barely presentable, but still persists. Sometimes it appears out of nowhere for singular time sound stutter.

4) Setting artificial FPS limit to below or equal to monitor refresh rate won't resolve issue with sound stutters on alt+tab that i mentioned above.
4.1) Seems like if games renders low FPS count, there will be less chance for stutter to happen
4.2) Seems like some games will still have return stutter, despite not showing up stutter on going away from game.

Additional bit of information, not necessary for most people. 
1) BDO only unlocks FPS if used FORCE OFF or ENCHANCED SYNC vsync modes. By default game always force vsync.
1.2) BDO only applies chosen vsync mode ONCE! At moment of launch. After that, you CANNOT CHANGE IT (unless you close game and open it again).

3) On return to the games i frequently saw "corruption lines" in Chrome video playback which were referred to in previous driver updates. Perhaps these issues corresponds with each other?
Since about 23.5.1 these "corruption lines" had been moved onto alt-tabbing OUT of game instead of into one. 
Since 23.7.1 "corruption lines" issue was MOSTLY resolved. But underline issue is still there, so there are still some conditions but visibility of "corruption" issue had been GREATLY reduced

Issue №2: [Also OLD, but actual, partially resolved] Shortliving but reproducible local "corruption" effects in Chrome browser or game on alt-tabbing (or other activities). Usually they are green. DX11/12 game must be running in background to be cause. 

1) Chrome was opened (must be unfolded to fullscreen)
aka THIS button:
DimkaTsv_0-1689185136615.png
2) YouTube was opened in Chrome and had video playing
3) DX11/12 game is running within windowed-fullscreen mode

Before 23.5.1 (or 23.4.1... idr already). Result:
Alt-tabbing between game and Chrome with video playback caused green-line corruption effect happen on returning into game. 

23.5.1 - 23.5.2. Result:
Alt-tabbing between game and Chrome with video playback caused green-line corruption effect happen within video frameport in Chrome. 
Additionally this corruption effect could've happened more extensively when you tried to Discord stream Chrome browser with video opened to fullscreen size. 

23.7.1. Result:
No general corruption effects are happening now.
Per case i currently caused there are different triggers and results. 
1) Corruption can appear in video frameport like in 23.5.1-23.5.2
1.1) Fully scale short-living corruptions can happen if some games like MTGA with "fullscreen" is running in background, even at lobby. BUT!!! Unlike original issue, this time it will only appear when you start video or try to quit it (like going through next link), no corruption happen during general playback. This issue only happen for videos of resolution equal to 1080p (or less?), but not higher (aka 1440p/4k/8k are not affected). These corruption appear to happen not every time, but rather about 30-50% of times. These corruption only happen within about 3 seconds after going through video link. 
1.2) Very small and short-living scale corruptions can happen during video playback when some games like BDO are running in background and active location changes (loading screens) are happening. These are quite rare, rather small sized and barely noticeable, but they still are there. 

2) Corruption effect can appear when doing fast hovering over multiple elements of "floating menu" type. Best example i found to check is this site: https://www.romexsoftware.com/en-us/index.html 
Hovering cursor over these elements, moving through them fast will cause consistent and frequent local corruption effects around appearing floating menus.   

DimkaTsv_1-1689186236221.png

3) To trigger all these issues, windowed-game optimization still must be enabled, and DX11/12 game still must be run in background.

Commentary:

Despite Windows 11 "windowed-game optimization" parameter always figuring out as condition for these two issues it isn't mandatory to be enabled to see issue. Why you might ask? Because root cause is flip-buffer presentation mode. That "windowed-game optimization" parameter just forces it globally any DX11/DX12 application. But issue will also happen if any of these games has flip-buffer presentation mode embedded within game itself. 

For example Warframe has such option in settings, which is allowed to be enabled when DX12 is set as it's backend. And iirc it defaults to it too. 

Solution:

Easiest solution to move yourself away from this problem is to NOT use Windows 11 windowed-game optimization at this moment of time, until compatability is better. Or just deal with these microcorruptions, which are gradually being resolved it seems. This becomes especially important if you use Enchanced Sync a lot. 

0 Replies