STEAM GROUP
Special K - "Kaldaien's Mod" Special☆K
STEAM GROUP
Special K - "Kaldaien's Mod" Special☆K
333
IN-GAME
2,736
ONLINE
Founded
May 23, 2016
Language
English
All Discussions > Development > Topic Details
Renatar Aug 18, 2018 @ 2:36pm
Windowed G-Sync "Unsupported"
I have been unable to get Windowed G-Sync to work when using Borderless Fullscreen on Special K (on Bayonetta). I've activated it in the Nvidia panel, restarted the PC mutliple times, figeted around with combination of ingame settings and Special K settings, but the indicator keeps saying "Unsupported." Weirdly enough the Nvidia G-Sync Indicator does say "on."

Any ideas?
< >
Showing 1-10 of 10 comments
Aemony Aug 18, 2018 @ 3:04pm 
Special K's indicator do not support detecting and identifying Windowed G-Sync as that driver hack of Nvidia doesn't seem to use the parts of the NvAPI that proper Fullscreen G-Sync utilizes.

I also do not recommend using Windowed G-Sync as it have a history of causing issues, and on modern Windows 10 on the later drivers it also causes a ton of stuttering and lagging in a bunch of games (including Bayonetta, for me).

If you configure Bayonetta to run in Fullscreen mode then Windows 10's fullscreen optimizations (unless disabled) will kick in and convert the game into running in a borderless window mode using flip model presentation. This allows the game to sync the monitor using Fullscreen G-Sync without that Windowed G-Sync hack from Nvidia, while also enabling faster Alt+Tab and generally better framepacing than Borderless mode.

I really can not fathom why Windowed G-Sync is even still a thing. Windows 10's Fullscreen Optimazations guarantees that almost all games configured to run in exclusive fullscreen mode instead gets turned into a borderless window mode using flip model presentation, which as I mentioned previously enables the use of the much more stable Fullscreen G-Sync module for the game.

So to summarize my recommendation:

1. Disable Windowed G-Sync and only enable Fullscreen G-Sync. A computer restart is recommended to remove any lasting effects.
2. Install SpecialK32.dll as dinput8.dll in the game folder.
3. Ensure that fullscreen optimizations are not disabled for Bayonetta.exe
4. Run the game and configure it to fullscreen mode.
5. Enjoy the game in a borderless window mode using flip model presentation with G-Sync active.


Edit: To identify whether fullscreen optimizations are enabled or not, the easiest way is to use WinKey+G to attempt to bring up the game bar while the game is running in exclusive fullscreen mode. If the game bar appears, then fullscreen optimizations are enabled and the game is actually running in a borderless window mode using flip model presentation (despite what Special K reportS). If the screen flashes twice (not visible on pure black), then fullscreen optimizations are disabled and the game is running in classic exclusive fullscreen mode.
Last edited by Aemony; Aug 18, 2018 @ 3:06pm
Kaldaien Aug 18, 2018 @ 3:06pm 
Is this a D3D11 game? There are ways to get G-Sync working in D3D9 games in windowed mode, but holy crap it's convoluted and rarely compatible with the underlying game itself.
JBeckman Aug 18, 2018 @ 3:09pm 
Bayonetta uses DirectX 9 I believe so yeah.

EDIT: Yep, seems I remembered right for once.
Last edited by JBeckman; Aug 18, 2018 @ 3:10pm
Renatar Aug 18, 2018 @ 3:32pm 
Interesting to hear your support for Fullscreen Optimizations Aemony, as, at least on the Nividia forums and a number of articles that new option is usually derided. Similarly I long ago disabled the Nvidia Game Bar with a registry tweak, I'll try to enable that again.

The only reason I was trying to get Borderless to work was that Bayonetta suffers from a very annoying stutter which I've been unable to solve in normal Fullscreen. It seems to appear some time after launching the game, and goes away after a restart. Do you recognize this?
Last edited by Renatar; Aug 18, 2018 @ 3:33pm
Renatar Aug 18, 2018 @ 4:04pm 
Originally posted by Kaldaien:
Is this a D3D11 game? There are ways to get G-Sync working in D3D9 games in windowed mode, but holy crap it's convoluted and rarely compatible with the underlying game itself.

I read on the Nvidia forums that World of Warcraft recently removed its fullscreen option in favor of borderless only. What could be the reasoning ofr that if Windowed g sync is so glitchy.
Aemony Aug 18, 2018 @ 4:14pm 
Originally posted by Kaldaien:
Is this a D3D11 game? There are ways to get G-Sync working in D3D9 games in windowed mode, but holy crap it's convoluted and rarely compatible with the underlying game itself.

Meh, let Windows 10's fullscreen optimizations take care of it. Was child's play in my quick testing.


Originally posted by Renatar:
Interesting to hear your support for Fullscreen Optimizations Aemony, as, at least on the Nividia forums and a number of articles that new option is usually derided. Similarly I long ago disabled the Nvidia Game Bar with a registry tweak, I'll try to enable that again.

The only reason I was trying to get Borderless to work was that Bayonetta suffers from a very annoying stutter which I've been unable to solve in normal Fullscreen. It seems to appear some time after launching the game, and goes away after a restart. Do you recognize this?

I haven't spent enough time to verify that, sorry. However if you didn't disable fullscreen optimizations for the game executable then it'll have automatically tried to use those which could explain your issue. I recommend checking the "Disable fullscreen optimizations" compatibility flag in the properties for Bayonetta.exe

For the longest of time I was sorta split on the matter, but nowadays the fullscreen optimizations are extremely stable. What Microsoft do not tell you, and half the Internet doesn't seem to realize, is that there's no global way of disabling those optimizations on Windows 10 v1803. The setting "Show game bar in games Microsoft have verified" (or whatever it was called) used to also disable it system-wide was removed in v1803.

And no, disabling the game bar, or game DVR, or playing around with game DVR's registry settings (which I've seen mentioned online) do not disable it. You'll have to either manually enable the "Disable fullscreen optimizations" on each executable, or batch disable them using a script like this.

The lack of a system-wide disable toggle is because a move was underway in the Insider program before v1803 was released to Display settings > Graphics settings. I expected that to go live in v1803, but for whatever reason Microsoft never released that new global toggle. Here's a screenshot[images.aemony.se] of how that new toggle was intended to look like. It was introduced in Windows 10 build 17093 that was released for Insiders on February 8, 2018.

Anyway, do not assume that I *love* fullscreen optimizations. I personally prefer not using them, but in this case my dislike for Windowed G-Sync far outweighs my dislike for those fullscreen optimizations.

My "ladder" of preferred way is basically this, from most awesome to least awesome:

1. Exclusive fullscreen mode if possible.
2. Flip model presentation override (aka fullscreen optimizations the "native" way) using Special K (only available for Dx11).
3. Windows 10's fullscreen optimizations (converts exclusive fullscreen mode into borderless window mode using flip model presentation).
4. No monitor.
5. No playing the game.
[...]
99. Nvidia's Windowed G-Sync hack.
Aemony Aug 18, 2018 @ 4:20pm 
Originally posted by Renatar:
Originally posted by Kaldaien:
Is this a D3D11 game? There are ways to get G-Sync working in D3D9 games in windowed mode, but holy crap it's convoluted and rarely compatible with the underlying game itself.

I read on the Nvidia forums that World of Warcraft recently removed its fullscreen option in favor of borderless only. What could be the reasoning ofr that if Windowed g sync is so glitchy.

DirectX 12 does not have exclusive fullscreen mode. What's weird is that the borderless mode with flip model presentation that DirectX 12's "fullscreen mode" consists of is also available for DirectX 11, but for some reason Blizzard forgot the >flip model presentation< part of it when they removed exclusive fullscreen mode for their DirectX 11 mode (which they didn't need to remove in the first place...).

If they had remembered to use flip model presentation for DirectX 11 as well, players could've used Fullscreen G-Sync just fine with the game while it was running in borderless mode. No need for that Windowed G-Sync hack that Nvidia came up with.

Anyway, Fullscreen G-Sync + borderless window mode using flip model presentation is awesome, and almost as good as exclusive fullscreen mode for frame pacing! Borderless window mode without flip model presentation just sucks... >_<
Aemony Aug 18, 2018 @ 4:33pm 
I've documented a little bit of stuff over on the PCGW about fullscreen optimizations: https://pcgamingwiki.com/wiki/Microsoft_Windows#Fullscreen_optimizations

The most obvious here is the wrench box "Check if fullscreen optimizations are being used or not", which explains how to use the game bar to verify whether a game is actually using fullscreen optimziations or not.

There's ways to verify it even without resorting to the game bar, but I've found that to be the far easiest way as it either appears (fullscreen optimizations in use) or flashes the screen twice (fullscreen optimizations not in use). The alternative is to Alt+Tab and inspect what kind of display mode switch occurs, and/or try to capture a screenshot using a separate tool such as ShareX or print screen (if captured == enabled; if completely white/black screen == disabled).

I find it extremely annoying that Microsoft have made the optimizations the default way now for all DirectX 9+ games, while giving no real indicator whether they're being used or not. Not even Special K can tell, as the optimizations occurs at a lower level than were Special K is present.

So you'll have a scenario where Special K swears up and down that the game is running in fullscreen mode, while in reality Windows 10 takes what the game outputs and turns it into a borderless window mode using flip model presentation. And the only way you can tell is if a system overlay like the game bar and/or volume slider appears when you hit the appropriate hotkeys.
Renatar Aug 18, 2018 @ 4:43pm 
Thank you Aemony, you really seem to know a lot about how this tech works, and you've explained better what these optimizations really do than Ive read anywhere. Tbh Im not happy with them, as their presence has added an entirely different layer of complexity to troubleshooting. For example, in the Witcher 2, is the mild camera pan stutter a result of these kind of Windows additions and conflicts or was it always there? No way to know without downgrading...
And I dont alt tab that often so I dont reap FSO benefits I guess. Ill try and see whether I can find the registry things I used to disable the game bar and check out a few games.
Last edited by Renatar; Aug 18, 2018 @ 4:46pm
Aemony Aug 18, 2018 @ 4:46pm 
Originally posted by Renatar:
Thank you Aemony, you really seem to know a lot about how this tech works, and you've explained better what these optimizations really do than Ive read anywhere. Tbh Im not happy with them, as their presence has added an entirely different layer of complexity to troubleshooting, and I dont alt tab that often so I dont reap their benefits I guess. Ill try and see whether I can find the registry things I used to disable the game bar and check out a few games.

A thing I remembered it just now is that if you have a volume media key on your keyboard then that's by far the easiest way to check (doesn't even need the game bar enabled). Basically, see if the game is supposedly running in fullscreen mode using Special K (if Special K can be injected) and then hit that volume key. If the overlay in the top left corner appears, then fullscreen optimizations are enabled, like here: https://images.aemony.se/sharex/Bayonetta_2018-08-19_01-44-00.png

If it does not, then they're disabled.
< >
Showing 1-10 of 10 comments
Per page: 1530 50

All Discussions > Development > Topic Details