Post subject: Some way to get exclusive fullscreen so that G-SYNC works
Joined: 5/18/2019
Posts: 7
On Windows, NVIDIA GPU. I've tried the possible combinations in BizHawk Display settings, but none seems to work. The closest I get is in OpenGL mode, where RTSS OSD appears, but G-SYNC doesn't work (due to windowed fullscreen probably). Is there some way /workaround to achieve it? (I'm accepting even a source code change suggestion, as I don't mind compiling the emulator)
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
Have you tried windowed GSYNC? https://i.imgur.com/fo7O9qn.png
Joined: 5/18/2019
Posts: 7
creaothceann wrote:
Have you tried windowed GSYNC? https://i.imgur.com/fo7O9qn.png
Yes, I've tried even this. I say so because Windowed G-SYNC doesn't work well since some driver update, that Nvidia is yet to fix. Once I'm on a RTX2080 TI, I'm forced to use a updated driver.
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
Does GSYNC work with other programs, e.g. the pendulum demo? (I still have my 970 SLI, which works fine with 419.35 which is the last driver with NVIDIA 3D Vision)
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
Try the following options: menu | "Config" | "Display" | "Display Method" - set to D3D or OGL, not GDI menu | "Config" | "Speed/Skip" - check "Audio Throttle" - check "VSync Enabled" - check "Skip 0 (never)" Load the 240p test suite and select "Drop Shadow Test". If the flickering shadow doesn't show a "hiccup" for at least ~11 seconds then the settings should be fine.
Joined: 5/18/2019
Posts: 7
creaothceann wrote:
Does GSYNC work with other programs, e.g. the pendulum demo?...
Yes, it works with the pendulum demo, an also with others I use often: -Forza Horizon 4 (UWP) -The Crew 2 -Mame Emulator
creaothceann wrote:
...(I still have my 970 SLI, which works fine with 419.35 which is the last driver with NVIDIA 3D Vision)
By "works" you mean G-SYNC in BizHawk?
creaothceann wrote:
Try the following options: menu | "Config" | "Display" | "Display Method" - set to D3D or OGL, not GDI menu | "Config" | "Speed/Skip" - check "Audio Throttle" - check "VSync Enabled" - check "Skip 0 (never)" Load the 240p test suite and select "Drop Shadow Test". If the flickering shadow doesn't show a "hiccup" for at least ~11 seconds then the settings should be fine.
I Had tried with D3D or OGL, and I believe my menu | "Config" | "Speed/Skip" are already like you suggested. Anyway, I'll confirm it later and post it here. About the 240p test suite, is it for checking if G-SYNC is engaged? I asked this because I normally check the monitor's refresh rate indicator: The monitor's refresh rate is set to 120, and as soon as I launch some emulator (that normally runs at 60fps), it goes down to 60, oscilating according to FPS. This is what is not happening in BizHawk currently. Oddly, a weird thing also happening to BizHawk is RTSS OSD doesn't appear during D3D mode (it only happens in OpenGL). Normally, every DirectX 9 app I launch shows the OSD.... Anyway, I'll try your suggestions, and post the results later. Thanks!
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
BHAddict wrote:
creaothceann wrote:
...(I still have my 970 SLI, which works fine with 419.35 which is the last driver with NVIDIA 3D Vision)
By "works" you mean G-SYNC in BizHawk?
419.35 works for the games I play. (In fact, in the past I signed up for Geforce Experience to always get the newest driver versions, but it turns out you only need that for brand new games. On Saturday I uninstalled GE when I wanted to watch a 3D movie and it turned out that newer driver versions removed support for 3D Vision.)
BHAddict wrote:
About the 240p test suite, is it for checking if G-SYNC is engaged?
The suite is for checking the video quality of your setup. The "Drop Shadow Test" shows a sprite whose visibility is toggled every frame, so you can easily check if the monitor skips or repeats frames. Another thing you can do is load the game "Kid Klown in Crazy Chase", go to the options screen and check if the scrolling background is stuttering. It's kind of hard to focus on the background for more than a few seconds, but you can hear if the emulator syncs the audio correctly.
Joined: 5/18/2019
Posts: 7
creaothceann wrote:
419.35 works for the games I play. (In fact, in the past I signed up for Geforce Experience to always get the newest driver versions, but it turns out you only need that for brand new games. On Saturday I uninstalled GE when I wanted to watch a 3D movie and it turned out that newer driver versions removed support for 3D Vision.)
In fact, 3D Vision won't be supported for future drivers. I'm on Windows 10 version 1903, so I'm on a 430.xx driver (I don't use 3D Vision, though). The sad thing is they can implement new things to force users to update and lose features. Example: 425.31 has Ray Tracing support for GTX GPUs. Not that it's a big deal (due to performance hit), but it only works in a driver that doesn't have 3D Vision builtin installer. I have GeForce Experience for two reasons: Shadowplay and notifications about new drivers (I don't have it set to automatically download, it only notifies about new drivers). I'm waiting for the Windowed G-SYNC fix, so I test every driver that's released. Also, the current driver has a problem where Forza Horizon 4 may crash when driving to a specific tunnel, and I also expect a fix.
BHAddict wrote:
About the 240p test suite, is it for checking if G-SYNC is engaged?
The suite is for checking the video quality of your setup. The "Drop Shadow Test" shows a sprite whose visibility is toggled every frame, so you can easily check if the monitor skips or repeats frames. Another thing you can do is load the game "Kid Klown in Crazy Chase", go to the options screen and check if the scrolling background is stuttering. It's kind of hard to focus on the background for more than a few seconds, but you can hear if the emulator syncs the audio correctly.[/quote] I'll take a look at it later when I get home. So I post the results. But does G-SYNC work for you in BizHawk when in fullscreen?
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
BHAddict wrote:
But does G-SYNC work for you in BizHawk when in fullscreen?
Yes. It's just windowed fullscreen anyway.
Joined: 5/18/2019
Posts: 7
creaothceann wrote:
BHAddict wrote:
But does G-SYNC work for you in BizHawk when in fullscreen?
Yes. It's just windowed fullscreen anyway.
Just tested these settings: menu | "Config" | "Display" | "Display Method" - set to D3D or OGL, not GDI menu | "Config" | "Speed/Skip" - check "Audio Throttle" - check "VSync Enabled" - check "Skip 0 (never)" and no luck here. Monitor stays at 120 (refresh rate) all the time while BizHawk is running. Just checked the NVIDIA Control Panel, to make sure there wasn't any profile for BizHawk set to fixed refresh, but there's nothing there. Fullscreen optimizations are also disabled for EmuHawk.exe, and there's no compatibility option enabled in Windows.
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
Have you tried the 240p test suite?
Joined: 5/18/2019
Posts: 7
creaothceann wrote:
Have you tried the 240p test suite?
No, because the refresh rate was static in the monitor: It should stay near 60 while BizHawk is running.
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
*shrug* Well, it's working for me. Btw. I set my display's (Acer XB240H) refresh rate to 60 Hz (while still having GSYNC enabled), it seems that synchronizing to frequencies that are theoretically compatible (like 120) isn't supported by any programs I've seen so far.
Joined: 5/18/2019
Posts: 7
creaothceann wrote:
*shrug* Well, it's working for me...
I have no luck. Nor even SpecialK is able to fix it, as its OSD also doesn't appear.
creaothceann wrote:
...it seems that synchronizing to frequencies that are theoretically compatible (like 120) isn't supported by any programs I've seen so far.
I didn't understand what you meant, sorry. Could you elaborate? My monitor is always at 120 or 144 when I use some fullscreen app, like: -RPCS3 (emulator, Vulkan); -MAME64 (emulator, D3D9); -NullDC (emulator, ~D3D9); -Redream (emulator, ~D3D9); -Battlefield V (game, DX12); -Blur (game, ~D3D9) -Forza Motorsport 7 (UWP game, DX12); -Dead or Alive 6 (game, ?); -The Crew (game, D3D9); and for all these (among many other apps), the Monitor refresh rate syncs to game's running FPS. A small detail: For Forza Horizon 4, if I set a lower resolution than Windows's current resoluton, G-SYNC doesn't work. Apart from BizHawk, the only app where G-SYNC also doesn't work here in fullscreen is this: PCSX2 (emulator, D3D11) The odd thing is PCSX2 actually shows the RTSS OSD. PCSX2 also has a DirectX 9 plugin, but I didn't test it. By the way, BizHawk is the only app where RTSS can't display OSD in D3D9 mode here. I have two theories: 1 - BizHawk and PCSX2 aren't switching to exclusive fullscreen mode when they go fullscreen; 2 - BizHawk and PCSX2 aren't switching to Windows resolution when they go fullscreen; Unfortunately, SpecialK doesn't work with either, so I can't find out.
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
BHAddict wrote:
creaothceann wrote:
...it seems that synchronizing to frequencies that are theoretically compatible (like 120) isn't supported by any programs I've seen so far.
I didn't understand what you meant, sorry. Could you elaborate?
Sorry, "programs" should've been "emulators". Almost any vintage console emulator is supposed to run at 60 or 50Hz, and I haven't seen any yet (except perhaps Retroarch) that can do that when the monitor is at 120 or 100Hz.
BHAddict wrote:
By the way, BizHawk is the only app where RTSS can't display OSD in D3D9 mode here. I have two theories: 1 - BizHawk and PCSX2 aren't switching to exclusive fullscreen mode when they go fullscreen; 2 - BizHawk and PCSX2 aren't switching to Windows resolution when they go fullscreen;
#1, BizHawk is not using exclusive fullscreen. Here's my two monitors with BizHawk in 'fullscreen'.