GSDX OpenGL Vsync + DWM/Aero issues
#11
I still have the issues with DX9/11. Game is running in 60fps, frameskip is disabled. Capturing with F12 shows each frame being different, as it is supposed to. Capturing with OBS at 60fps and window capture shows duplicated frames at certain times. For me it happens at around 5 minute intervals, with 5 minutes of 60fps, and 5 minutes of 30fps.
Reply

Sponsored links

#12
I have posts dating back to around 2011 mentioning this issue, like here: https://www.vogons.org/viewtopic.php?f=32&t=30205 and here is a link to specific info about the issue: https://www.vogons.org/viewtopic.php?p=386624#p386624

The DWM is the absolute worst thing Microsoft has ever introduced since Windows XP. It just does not handle vsync correctly. Frames are very frequently either duplicated or skipped resulting in terrible frame pacing and frame skipping visuals while the applications performance and rendering system is unaffected. You can work around it by using an Exclusive Fullscreen Display Mode but these days everyone, including hobby programs like emulators, is starting to shift towards dropping fullscreen exclusive display modes (why? Who the ***** knows!? Because they can't show toolbars in this display mode!?).

We're still waiting on Vulkan (and I think also DirectX 12) to support fullscreen exclusive display mode in their API (or for video chip manufacturers to use the API extensions functionality to implement support for it in their driver implementation).

The issues with the DWM exist in:
- Windows Vista (regardless of Service Pack)
- Windows 7 (regardless of Service Pack)
- Windows 8 (regardless of Service Pack/Update)
- Windows 10 (regardless of major update level/threshold 1, 2, Anniversary Update etc).
I've tested them all.

There ARE some programs out there with vsync that works really well with the DWM but as far as I'm aware of there are less than 10 such programs.

- Verduga GreenEyes made a custom version of BSNES v0.92 or older (can't remember exact version, it was ages ago) which worked fine on my PC without visual stutter. The changes were never accepted/implemented in to the main development branch though (hooray!). Completely smooth visuals, never any visual stutter.

- Mesen seems to work fine.

- Gambatte tried to work with the DWM and I believe it succeeded, however I have some issues with it under specifically Windows 10. I assume the DWM behaviour changed slightly at some point.

- Internet Explorer works perfectly fine while Mozilla Firefox is a stuttery mess.

- Adobe Flash works great within Internet Explorer but not Firefox.

- Media Player Classic - Home Cinema's Fullscreen Exclusive Display mode works excellently for video playback without anomalous stutter caused by the DWM. Windows Media Player stutters like a mofo due to the DWM though (Makes no sense that they'd get Internet Explorer to work nice with the DWM [even under Windows 10] and not their media player).

- SNES9x v1.54.x works great in Windowed Mode. The DWM drops a single frame every 60 or so seconds and is barely noticeable.

If you're wondering about AAA publisher and indie games, I tend to always play them with Exclusive Fullscreen Display Mode (DWM can't affect such display modes) both before I switched to Vista and newer and after I switched to Vista and newer. I'm not a fan of multi-tasking while gaming so it makes no sense to waste processing power rendering the desktop behind the game. I dunno why I tend to switch between fullscreen and Windowed when emulating stuff, maybe its because the games I tend to emulate are graphically lite.
Computer specifications:
Windows 10 | Ryzen 3700X | ASUS Crosshair VIII Hero (WiFi) | MSI 1070Ti | 16GB 3600MHz RAM
Reply
#13
n1ghttrap you can try this autohotkey script
http://forums.pcsx2.net/Thread-Slowdown-...#pid499448
Reply
#14
(01-22-2017, 09:59 PM)vsub Wrote: n1ghttrap you can try this autohotkey script
http://forums.pcsx2.net/Thread-Slowdown-...#pid499448

Sorry to report that it didn't affect the frame pacing at all.  Tried the autohotkey script, confirmed that it was enabled by using the F11 hotkey as it removed the title bar of the window, and still had the uneven pacing at random intervals regardless of emu vsync setting and full screen setting in OpenGL mode. D3D remains fine.
Reply
#15
Nighttrap, was the old topic that went no where... this one? http://forums.pcsx2.net/Thread-Input-lag...eo-stutter

I originally concluded that the WDDM 2.0 change in Windows 10 Anniversary Update fixed the stutter but since then I've come to the conclusion that I jumped the shark too early, the problem still exists. I've updated a couple posts in that topic to improve readability and fixed the dead links to the interesting info that Verduga Greeneyes wrote about the DWM.
Computer specifications:
Windows 10 | Ryzen 3700X | ASUS Crosshair VIII Hero (WiFi) | MSI 1070Ti | 16GB 3600MHz RAM
Reply
#16
(01-23-2017, 09:03 AM)Franpa Wrote: Nighttrap, was the old topic that went no where... this one? http://forums.pcsx2.net/Thread-Input-lag...eo-stutter

I originally concluded that the WDDM 2.0 change in Windows 10 Anniversary Update fixed the stutter but since then I've come to the conclusion that I jumped the shark too early, the problem still exists. I've updated a couple posts in that topic to improve readability and fixed the dead links to the interesting info that Verduga Greeneyes wrote about the DWM.

Sadly, research on this issue tends to always trail off and I imagine this will remain a problem until someone makes GSDX GL mode play better with DWM or proper full screen exclusive mode gets added to the emulator.  3rd party methods of forcing exclusive mode don't seem to work properly with PCSX2.  In any case thought I'd try raising awareness of it again, but will simply deal with it or use D3D if it doesn't totally break the game.
Reply
#17
(02-06-2017, 03:31 AM)n1ghttrap Wrote: Sadly, research on this issue tends to always trail off and I imagine this will remain a problem until someone makes GSDX GL mode play better with DWM or proper full screen exclusive mode gets added to the emulator.  3rd party methods of forcing exclusive mode don't seem to work properly with PCSX2.  In any case thought I'd try raising awareness of it again, but will simply deal with it or use D3D if it doesn't totally break the game.

I've had the exact same issue for as long as I can remember, and wasn't able to find anyone else with the same problem. I have an i5 3570k (@4.5ghz) and a GTX 1070. I'm using Windows 10 and the only way I can get proper frame pacing with PCSX2 is to use the DirectX9-11 GSDX renderers with Vsync on. Vsync doesn't seem to do anything with the OpenGL renderer, which is a shame since it's much more visually accurate. 

I play Gradius V a lot and many other shmups such as Homura, Shikigami no Shiro, Espgaluda, etc. The frame pacing issue absolutely ruins them. I've tried all possible combinations of GSDX versions (SSE2, 4.1, AVX) and many different nightly builds. 

This issue is very easily replicated by anyone, even if they don't play shmup games - play any third person game with free camera control (Tenchu, Dororo, etc.) and rotate the camera with constant speed around your character. After a few frames (variable) you'll definitely come across frame pacing issues, which manifest as a sort of jerkiness not unlike frameskip (but it isn't frameskip because the emulator is obviously rendering frames as fast as possible). Then things go back to normal for awhile until it happens again. This is an intermittent issue that never really goes away and it's really irritating to someone who is sensitive to it. 

Another issue I have is input lag, even with vsync off. But that's something for another thread. 

Thank you OP for making this post and detailing the issue so well. Good to know I'm not the only one who finds it really frustrating.
Reply
#18
Waiting for a fix on frame pacing too Smile
Reply




Users browsing this thread: 1 Guest(s)