Extreme stutter and framedrops with multi-monitors on win10
Extreme stutter and framedrops with multi-monitors on win10
Hello all. I have suspected for some time that windows 10 was doing something strange with my multi monitor setup (one 144hz main display and two 60hz secondaries), but every time I had tested it everything seemed to be working properly. Until now.
What I have discovered is that if anything, and I mean anything is drawn on one of the displays windows forces ALL displays to the lowest of the framerates involved. In my case, having anything changing on either secondary monitor, a video playing, scrolling an explorer menu, or even dragging a marquee on the desktop will cause my 144hz main display to drop down to 60 until the drawing stops. This causes insane micro-stutter that is VERY noticeable in both games and testufo.com.
I did a lot of research and tinkering to try to work around this problem, and the only thing that has any effect is disabling Fullscreen Optimization. Doing so on chrome causes the framerate detected by testufo.com and vsynctester.com to remain at 144hz, but the insane micro-stutter remains and it is apparent (using the frame skipping test) that about half the frames are simply being dropped and not rendered. This is what is shown in the first part of the video. I thought I was onto something here, so I found a way of disabling fullscreen optimizations system-wide via a registry tweak (HKEY_CURRENT_USER\System\GameConfigStore :: dword GameDVR_DSEBehavior = 2). This did not change anything, but I am unable to revert. Deleting the GameDVR_DSEBehavior value I added or setting it to 0, which is supposed to correspond to enabled does nothing, and the system restore point I manually created beforehand has disappeared...
I have tried pretty much everything I have seen suggested by people around the web to absolutely no effect:
[*]Plugging the secondary monitors into the motherboard and driving them with the CPU's IGPU. (intel display drivers/ddu are almost certainly what wiped by manual restore point). - no effect
[*]Making sure all the monitors have a refresh rate that is divisible by one-another (60 60 and 120) - no effect.
[*]Disabling hardware acceleration on chrome. - no effect (beyond high cpu usage)
[*]Disabling hardware acceleration on discord. - no effect, scrolling a chat channel's text still instigates the issue.
[*]Enabling Message Signaled-Based Interrupts for the graphics adapter. - no effect.
[*]Performing the test on an entirely different computer, with entirely different hardware. - no effect. The issue crops up here aswell (two 60hz monitors, one set to 50 in nvidia control panel). This is shown in the third part of the video.
[*]Compatibility mode for individual programs (all of them). - no effect.
[*]Disabling GSYNC (only the main monitor has it). - no effect
I am convinced this issue is related to the global vsync state windows 10 seems to enforce. I tried booting up an old install of windows 7 I have on a spare drive and the issue appears there as well by default. But in windows 7 you are able to disable Desktop Composition. Doing this actually fixes the issue. Seeing what happens when windows 10 "Fullscreen Optimization" is disabled makes me hopeful that there is some way to work around this.
Exclusive fullscreen mode does avoid this issue in games. But this is not a suitable workaround as it prevents alt-tabbing from games and the problem still plagues all tasks not game-related. I am contemplating just ditching my old 60hz secondary monitors and buying the cheapest higher refresh ones I can find to match my main one, but this is a bad and expensive solution as well.
Here is a video I recorded of the two setups showing the issue, sorry for the potato quality.
[*][0:00]On the left, a 60hz monitor, on the right, a 144hz monitor running the frameskipping test(https://www.testufo.com/frameskipping)
[*][0:19]This is all on the same monitor to prove that it only happens when a monitor with a lower refresh rate is involved.
[*][0:25]The other computer, on the left a 50hz monitor, on the right a 60hz monitor runninng the vsynctest (https://www.vsynctester.com/) My camera does not convey the problem via the ufo test very well. Fullscreen optimization is still enabled on this computer, so the frameskipping test would just drop to the lower framerate and show nothing.
Does anyone have any thoughts on this?
What I have discovered is that if anything, and I mean anything is drawn on one of the displays windows forces ALL displays to the lowest of the framerates involved. In my case, having anything changing on either secondary monitor, a video playing, scrolling an explorer menu, or even dragging a marquee on the desktop will cause my 144hz main display to drop down to 60 until the drawing stops. This causes insane micro-stutter that is VERY noticeable in both games and testufo.com.
I did a lot of research and tinkering to try to work around this problem, and the only thing that has any effect is disabling Fullscreen Optimization. Doing so on chrome causes the framerate detected by testufo.com and vsynctester.com to remain at 144hz, but the insane micro-stutter remains and it is apparent (using the frame skipping test) that about half the frames are simply being dropped and not rendered. This is what is shown in the first part of the video. I thought I was onto something here, so I found a way of disabling fullscreen optimizations system-wide via a registry tweak (HKEY_CURRENT_USER\System\GameConfigStore :: dword GameDVR_DSEBehavior = 2). This did not change anything, but I am unable to revert. Deleting the GameDVR_DSEBehavior value I added or setting it to 0, which is supposed to correspond to enabled does nothing, and the system restore point I manually created beforehand has disappeared...
I have tried pretty much everything I have seen suggested by people around the web to absolutely no effect:
[*]Plugging the secondary monitors into the motherboard and driving them with the CPU's IGPU. (intel display drivers/ddu are almost certainly what wiped by manual restore point). - no effect
[*]Making sure all the monitors have a refresh rate that is divisible by one-another (60 60 and 120) - no effect.
[*]Disabling hardware acceleration on chrome. - no effect (beyond high cpu usage)
[*]Disabling hardware acceleration on discord. - no effect, scrolling a chat channel's text still instigates the issue.
[*]Enabling Message Signaled-Based Interrupts for the graphics adapter. - no effect.
[*]Performing the test on an entirely different computer, with entirely different hardware. - no effect. The issue crops up here aswell (two 60hz monitors, one set to 50 in nvidia control panel). This is shown in the third part of the video.
[*]Compatibility mode for individual programs (all of them). - no effect.
[*]Disabling GSYNC (only the main monitor has it). - no effect
I am convinced this issue is related to the global vsync state windows 10 seems to enforce. I tried booting up an old install of windows 7 I have on a spare drive and the issue appears there as well by default. But in windows 7 you are able to disable Desktop Composition. Doing this actually fixes the issue. Seeing what happens when windows 10 "Fullscreen Optimization" is disabled makes me hopeful that there is some way to work around this.
Exclusive fullscreen mode does avoid this issue in games. But this is not a suitable workaround as it prevents alt-tabbing from games and the problem still plagues all tasks not game-related. I am contemplating just ditching my old 60hz secondary monitors and buying the cheapest higher refresh ones I can find to match my main one, but this is a bad and expensive solution as well.
Here is a video I recorded of the two setups showing the issue, sorry for the potato quality.
[*][0:00]On the left, a 60hz monitor, on the right, a 144hz monitor running the frameskipping test(https://www.testufo.com/frameskipping)
[*][0:19]This is all on the same monitor to prove that it only happens when a monitor with a lower refresh rate is involved.
[*][0:25]The other computer, on the left a 50hz monitor, on the right a 60hz monitor runninng the vsynctest (https://www.vsynctester.com/) My camera does not convey the problem via the ufo test very well. Fullscreen optimization is still enabled on this computer, so the frameskipping test would just drop to the lower framerate and show nothing.
Does anyone have any thoughts on this?
Re: Extreme stutter and framedrops with multi-monitors on wi
Dont break your head because of this. This is normal behaviour. This is something Microsoft has to work on but they probably wont.
Re: Extreme stutter and framedrops with multi-monitors on wi
I don't know of any way to fix this.
Steam • GitHub • Stack Overflow
The views and opinions expressed in my posts are my own and do not necessarily reflect the official policy or position of Blur Busters.
The views and opinions expressed in my posts are my own and do not necessarily reflect the official policy or position of Blur Busters.
- Chief Blur Buster
- Site Admin
- Posts: 12056
- Joined: 05 Dec 2013, 15:44
- Location: Toronto / Hamilton, Ontario, Canada
- Contact:
Re: Extreme stutter and framedrops with multi-monitors on wi
Publicity is welcome on this. I've been collecting a dossier on this file for a future article that will shame multimonitor Hz problems, as well as Window's poor user-unfriendliness of re ... ports boom. I sometimes have some connections at Microsoft so some more diagnostics, images, screenshots, etc, may prompt me to write a press article about this.
Don't forget to screenshot http://www.testufo.com/animation-time-graph since that can also tell if the VSYNC timestamps are consistent with the refresh rate.ko4 wrote:Dont break your head because of this. This is normal behaviour. This is something Microsoft has to work on but they probably wont.
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on: BlueSky | Twitter | Facebook

Forum Rules wrote: 1. Rule #1: Be Nice. This is published forum rule #1. Even To Newbies & People You Disagree With!
2. Please report rule violations If you see a post that violates forum rules, then report the post.
3. ALWAYS respect indie testers here. See how indies are bootstrapping Blur Busters research!
Re: Extreme stutter and framedrops with multi-monitors on wi
Longshot: for me a cause of microstutter (in games) is having the Balanced or Power Saving power profiles enabled. Did you rule that out by forcing Prefer High Performance?
- Chief Blur Buster
- Site Admin
- Posts: 12056
- Joined: 05 Dec 2013, 15:44
- Location: Toronto / Hamilton, Ontario, Canada
- Contact:
Re: Extreme stutter and framedrops with multi-monitors on wi
That helps a lot too, especially for laptops. But for a desktop, it usually has no effect on the lighter TestUFO tests -- permanent continuous microstutter is quite visible on my multimonitor setups in certain discordant-Hz configurations. Especially when activity is going on the other different-Hz monitor.Vleeswolf wrote:Longshot: for me a cause of microstutter (in games) is having the Balanced or Power Saving power profiles enabled. Did you rule that out by forcing Prefer High Performance?
It's a Microsoft responsibility -- their compositing chain isn't really designed for jank-free different-Hz multimonitor setups.
Technically, anybody who buys a high-Hz monitor usually already has a GPU powerful enough to easily do concurrent different-Hz compositing (a modern midrange GeForce can composite desktops at several thousands frames per second, sub-1ms compositing), so there's nothing technically stopping Microsoft from updating their Windows compositing to be more friendly to high end gamer systems. As high-Hz gaming continue to become more common, there may be a bigger need to accomodate gamers on this --
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on: BlueSky | Twitter | Facebook

Forum Rules wrote: 1. Rule #1: Be Nice. This is published forum rule #1. Even To Newbies & People You Disagree With!
2. Please report rule violations If you see a post that violates forum rules, then report the post.
3. ALWAYS respect indie testers here. See how indies are bootstrapping Blur Busters research!
Re: Extreme stutter and framedrops with multi-monitors on wi
I am glad someone is in a position to bring this to Microsoft's attention, hopefully they will actually do something about it.
This weekend I am going to try mucking about in HKLM\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration\ in a long-shot attempt to trick windows into thinking the other monitor is running at 144 without also breaking the NVIDIA drivers. If that doesn't work out I've been scouring ebay today to find a cheapo 2k 144hz monitor to use as a secondary, as the option of switching back to win7 and losing dx12 is unacceptable.
*also, here is my DxDiag for completeness: https://pastebin.com/T9uaZPRn
Here are two screenshots of that test. First is with nothing rendering on the secondary screen. The second is when i am box-selecting on the desktop of the secondary 60hz screen.Chief Blur Buster wrote:Don't forget to screenshot http://www.testufo.com/animation-time-graph since that can also tell if the VSYNC timestamps are consistent with the refresh rate.
I have high performance mode turned on in windows settings and have "Prefer maximum performance" set globally in nvidia settings.Vleeswolf wrote:Longshot: for me a cause of microstutter (in games) is having the Balanced or Power Saving power profiles enabled. Did you rule that out by forcing Prefer High Performance?
If there is anything I can do to help you in this endeavor please don't hesitate to ask.Chief Blur Buster wrote:Publicity is welcome on this. I've been collecting a dossier on this file for a future article that will shame multimonitor Hz problems, as well as Window's poor user-unfriendliness of re ... ports boom. I sometimes have some connections at Microsoft so some more diagnostics, images, screenshots, etc, may prompt me to write a press article about this.
This weekend I am going to try mucking about in HKLM\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration\ in a long-shot attempt to trick windows into thinking the other monitor is running at 144 without also breaking the NVIDIA drivers. If that doesn't work out I've been scouring ebay today to find a cheapo 2k 144hz monitor to use as a secondary, as the option of switching back to win7 and losing dx12 is unacceptable.
*also, here is my DxDiag for completeness: https://pastebin.com/T9uaZPRn
Re: Extreme stutter and framedrops with multi-monitors on wi
Drawing squares on the desktop exhibits weird behavior in general, that's not a good test. Disable your icons on your desktop via right click > view > show desktop icons and you'll see that behavior almost completely fixed.
It seems you've stumbled upon the same trove of information I have online in various forms. The 60hz bug was supposedly fixed, such as having a video running on a second monitor causes the primary monitor to stutter when you have two different refresh rate monitors, a few years ago.
I have three displays hooked up. A secondary monitor runs in extended at 120hz, my primary monitor is 240hz, and I have a clone also running at 240hz. I don't get the same behavior you do. While there is occasional stuttering and there are problems with multi-monitors in general, it doesn't make for a stutter fest for me.
The frame skipping test on testufo I'm pretty sure is broken. I've had a few different displays and the only time it works properly is with a single display present. That isn't to say there isn't frame skipping, it just doesn't seem to work.
Exclusive full screen mode was broken in 1809. While you can do a few registry tweaks to almost completely fix the 'new' disable full screen optimizations, it's still some sort of pseudo full screen and not true full screen. If you hover over the top left corner after fixing it you'll still see your mouse turn into a normal cursor when you turn up/down the volume inside of a game. These are the registry keys you have to edit.
https://steamcommunity.com/app/719950/d ... 5021310888
I've disabled full screen optimizations for other reasons, however, unrelated to multimonitor and a lot to do with stuttering in general.
Look into ISLC for stand by memory emptying. This is a known broken part of windows. When your standby list fills up you get stuttering. That started after 1709. Once again unrelated to multi-monitors.
Windows 7 and 8.1 don't have these issues, they use a different version of WDDM (and windows in general XD).
A lot of people have been reverting to 1607 LTSB in order to avoid stuttering in general. The current version of Windows is very bloated and there are broken parts in general (gamebar/overlay, forced pseudo borderless fullscreen, and standby list are the most prominent ones).
https://www.reddit.com/r/Amd/comments/d ... frametime/
I've tried different versions of W10 and they do function differently. I wouldn't ever go back to 8.1 or 7 though.
Setting your performance plan for high performance helps with stuttering, in addition to turning off SMT/Hyper Threading (helps more in some games then others, especially poorly multithreaded ones). Disabling HTing only helps if your CPU isn't getting completely maxed out, otherwise it will more then likely reduce performance if you have a four core or less system. Disable core parking, there is a list...
Once again I'm not saying there isn't a problem with W10 and stutters, however I don't think the stuttering is relating exclusively to that.
It seems you've stumbled upon the same trove of information I have online in various forms. The 60hz bug was supposedly fixed, such as having a video running on a second monitor causes the primary monitor to stutter when you have two different refresh rate monitors, a few years ago.
I have three displays hooked up. A secondary monitor runs in extended at 120hz, my primary monitor is 240hz, and I have a clone also running at 240hz. I don't get the same behavior you do. While there is occasional stuttering and there are problems with multi-monitors in general, it doesn't make for a stutter fest for me.
The frame skipping test on testufo I'm pretty sure is broken. I've had a few different displays and the only time it works properly is with a single display present. That isn't to say there isn't frame skipping, it just doesn't seem to work.
Exclusive full screen mode was broken in 1809. While you can do a few registry tweaks to almost completely fix the 'new' disable full screen optimizations, it's still some sort of pseudo full screen and not true full screen. If you hover over the top left corner after fixing it you'll still see your mouse turn into a normal cursor when you turn up/down the volume inside of a game. These are the registry keys you have to edit.
https://steamcommunity.com/app/719950/d ... 5021310888
I've disabled full screen optimizations for other reasons, however, unrelated to multimonitor and a lot to do with stuttering in general.
Look into ISLC for stand by memory emptying. This is a known broken part of windows. When your standby list fills up you get stuttering. That started after 1709. Once again unrelated to multi-monitors.
Windows 7 and 8.1 don't have these issues, they use a different version of WDDM (and windows in general XD).
A lot of people have been reverting to 1607 LTSB in order to avoid stuttering in general. The current version of Windows is very bloated and there are broken parts in general (gamebar/overlay, forced pseudo borderless fullscreen, and standby list are the most prominent ones).
https://www.reddit.com/r/Amd/comments/d ... frametime/
I've tried different versions of W10 and they do function differently. I wouldn't ever go back to 8.1 or 7 though.
Setting your performance plan for high performance helps with stuttering, in addition to turning off SMT/Hyper Threading (helps more in some games then others, especially poorly multithreaded ones). Disabling HTing only helps if your CPU isn't getting completely maxed out, otherwise it will more then likely reduce performance if you have a four core or less system. Disable core parking, there is a list...
Once again I'm not saying there isn't a problem with W10 and stutters, however I don't think the stuttering is relating exclusively to that.
Re: Extreme stutter and framedrops with multi-monitors on wi
I made a mistake in not mentioning that to get the the testufo tests on chrome to still display 144hz and show frame dropping is to run chrome in windows vista comparability mode. Running normally, windows 10 seems to dynamically lower the maximum refresh rate of the entire system to be that of the monitor being drawn onto. In vista comparability mode it still seems to do this behind the scenes, but it allows chrome to believe that nothing is happening, so it still renders at 144hz but windows will only display 60 a second.
Strangely there are a few things that seem to have very little effect. Discord's home screen has several looped animations that play continuously that only cause moderate micro-stutter leading to an average refresh rate of about 125hz (image attached). Scrolling text, playing videos, etc still results in major stuttering and a frame rate locked at 60 tho. On windows 7 to get around all this crap you need to disable aero.
I tried the registry tweaks mentioned in the steam forum link, no effect. I am going to do a fresh install of win10 tomorrow on a spare drive and try to some serious registry abuse to see if I can get anywhere.
The issues are triggered when anything draws, the box-select was just the most convenient method. I can play a video, run furmark, or simply leave the blizzard.net app open on the 60hz monitor and all other monitors are firmly locked at 60hz too.masneb wrote:Drawing squares on the desktop exhibits weird behavior in general, that's not a good test. Disable your icons on your desktop via right click > view > show desktop icons and you'll see that behavior almost completely fixed.
Strangely there are a few things that seem to have very little effect. Discord's home screen has several looped animations that play continuously that only cause moderate micro-stutter leading to an average refresh rate of about 125hz (image attached). Scrolling text, playing videos, etc still results in major stuttering and a frame rate locked at 60 tho. On windows 7 to get around all this crap you need to disable aero.
I tried the registry tweaks mentioned in the steam forum link, no effect. I am going to do a fresh install of win10 tomorrow on a spare drive and try to some serious registry abuse to see if I can get anywhere.
Re: Extreme stutter and framedrops with multi-monitors on wi
It is difficult to understand what exactly is the problem. try 1607 LTSB if your GPU is below the rtx20** series.Hacktank wrote: Discord's home screen has several looped animations that play continuously that only cause moderate micro-stutter leading to an average refresh rate of about 125hz (image attached). Scrolling text, playing videos, etc still results in major stuttering and a frame rate locked at 60 tho.
On windows 7 to get around all this crap you need to disable aero.
I tried the registry tweaks mentioned in the steam forum link, no effect. I am going to do a fresh install of win10 tomorrow on a spare drive and try to some serious registry abuse to see if I can get anywhere.
my main monitor works at a frequency of 240, the second one is 75. If I watch a video on the second monitor, then on the main one there are no stuttering at 144 but on 200/240 they appear.
balanced 3.7 ghz https://imgur.com/cpfhlqS
max 5.2 ghz https://imgur.com/LSCDgP9
I often do not clearly state my thoughts. google translate is far from perfect. And in addition to the translator, I myself am mistaken. Do not take me seriously.