Special K v 0.11.0.50 - Improved Fullscreen Flip

Any idea why Fallout 76 just frame freezes after logging in? Is this anti cheat in action? Happens on the store version. Modding is enabled.dxgi.log (171,9 KB)

Got it, thanks for the explanation.

My confusion was that the automatic windows 10 upgrade to fullscreen flip of exclusive fullscreen apps actually does not crash upon alt-tab. Probably more is going in that case.

Theyā€™re not automatically upgraded to fullscreen flip. If anything, Windows bends over backwards to prevent that.

Fullscreen flip allows the game engine to change the desktop resolution, it introduces delay when you change applications if an application has asserted that itā€™s more important than everyone else is and should use a different refresh rate, resolution, etc. :stuck_out_tongue:

Alt-tabbing when an engine has changed the display mode is always dangerous, even allowing fullscreen flip in the first place comes with a lot of potential for software wonkiness. But I had to start supporting the feature because otherwise itā€™s very difficult to actually get a game to start up and let you into the graphics settings otherwise.

As far i can see, Specialk sets by default :

  • Presentation interval: -1
  • BackBuffer Count : -1
  • Maximum Device Latency: -1
  • :heavy_check_mark: Enable DWM Teraing

So if we use G-Sync + SK limiter set to 60 fps (for example).
The only thing we have to change is ā€œUse Flip Model Presentationā€ and the rest set by default ?
Iā€™m asking it, because i been looking for a while for the best Specialk setup with G-sync monitor, and as far iā€™ve been stesting, see no clear difference changing the number of buffers.

BTW really thank you for this hard work.

Yes, for G-Sync all you need to do is turn on Flip Modelā€¦ most of those parameters lose any sort of meaning when G-Sync is active because they control behavior when you are rendering faster than the display can output.

ā€¦ and if that were something you frequently did, you probably wouldnā€™t care about G-Sync in the first place :stuck_out_tongue:

2 Likes

Ohh great!!! tkank you very much!! :smile: :smile:

Oh interesting so not just hitting the variance that G / Free sync supports (~40 - 144 FPS or whatever.) but then also above the displays refresh rate range.

Older titles perhaps barring a CPU limit dragging down max possible performance or a lower framerate cap to avoid humming / whining and excess GPU heat or similar but for modern titles hitting 120 - 144 or higher frames per second takes some tuning.
(Higher resolution display with a higher refresh rate, 3840x2160 or the ultra wide 3440x1440 variant and even with high-end hardware thatā€™s not exactly too common.)

Interesting. :slight_smile:

EDIT: Well it makes sense, VSync for screen synchronization though G or Free sync does itā€™s stuff with it and then the back buffers at 4+ and device latency at back buffers +1 so 4/5 or higher aiding with I think 100+ FPS / Hz in particular.

But not just matching the display hardware for tearing free display and smoothness plus input lag going from 33.3 to 16.6 and so on for 30, 60 and higher but having to exceed this.

Good to know for reference. :slight_smile:

I figured they were forcing it across the board in all DirectX versions so that Game Bar and other topmost windows can display.

Thatā€™s not much of a solutionā€¦ doing that turns composition back on and adds at least 1 frame of latency. You can see it if you open the game bar with SKā€™s framepacing widget open.

Itā€™s perhaps suitable for Microsoftā€™s design, but would never fly for my overlay or RTSSā€™s. Any time you want to draw something on top of the game at all times, 1 frame of latency is 1 too many :slight_smile:

This is what happens when I launch Rise of the Tomb Rider with the newest SpecialK (0.11.0.50)

Looks to me like it is forcing some kind of HDR settings? Even though I have no HDR enabled. Couldnā€™t find any way to change this outcome, except for turning SpecialK of.

And what exactly is it supposed to look like? :stuck_out_tongue:

I donā€™t see anything that suggests HDR on a non-HDR display. That particular problem usually results in a gray very drab image because Windows only displays 1% of the full HDR range on an SDR screen.

I figured the messed up color must have been some HDR setting that I couldnā€™t turn off. I was wrong. After some further tinkering, I found out that this happens as soon as I enable ā€œUse Flip Model Presentationā€ (and restart).

Any Idea whats wrong here?

Edit: This is what it is supposed to look like:

Ohā€¦ that stupid problem again.

sRGB gamma is to blame. For HDR users, Special K has color correction features that can fix the sRGB gamma issue, but those features arenā€™t available to SDR users.

sRGB has to be turned off for Flip Model to work, this isnā€™t really an issue of SDR vs. HDR. Did previous versions somehow work correctly with Flip Model turned on?

Iā€™m not sure if previous versions worked. I only now read up on your framerate limiter and wanted to try it. (0.11.0.50 is the first and only version I tried) So just to confirm, is this a bug? Or is flip model only supported in hdr?

Edit: v49 & v48 and both have this gamma issue with flip model enabled.

Okay, good. That would have been weird if they did not :stuck_out_tongue:

Someday maybe Iā€™ll support fixing sRGB gamma for non-HDR users. For now, you probably just want to use the game without flip model.

Alright. Thanks.

Your flip model fixes almost all of my issues with games, itā€™s the be-all and end-all of my gaming experience alongside the Low Latency toggle in the NVIDIA panel.
However, that is valid only for games that use DirectX up to 11.
The thing that bothers me is that, yes, Vulkan and DX12 might have their own framequeueing and all the fancy stuff they bring, like G-Sync working off the bat, but how come DX11 with Low Latency set to Ultra, has better responsiveness?

Because the devs didnā€™t optimize DX12/Vulkan for their game. In reality if I have understood kaldaien enough at this point, DX12/Vulkan do a great job to a degree where Special K is not needed, but as per usual requires the devs to know what theyā€™re doing.

1 Like

Hey, guys!

Finally took the time to sign up for these forums. Nice to see all of you here. Looks like a much better place for discussion than the old Steam community. :smiley:

Iā€™ve been trying to keep up with the sleuth of new information (which can be a bit overwhelming). I have a few questions, if Kal or any others donā€™t mind answering.

  1. When available and using Special K, borderless windowed mode is preferred over exclusive full screen, then? Iā€™ve always thought the opposite and avoided borderless like the plague, only using Special K when FSE wasnā€™t an option (since the terrible implementation by most devs tend to cause stutters and all sorts of issues);

  2. Someone already asked this, but for G-Sync, all we have to do is enable flip model presentation, restart, and donā€™t mess with any other settings (leaving them at their default -1)? And if borderless is recommended, I assume we should enable G-Sync for both fullscreen and windowed applications using Nvidia Profile Inspector?

  3. Kal, I know you also have an LG OLED. Any recommended SK settings for the C9? Iā€™ve read on ResetEra that youā€™re enjoying BFI, but Iā€™m limited to 60Hz on the C9 and canā€™t stand the flickering. Also, I think losing G-Sync over BFI is too much of a trade-off. Did you mention Fast Sync because youā€™re using that in combination with BFI?

  4. Finally, how can I perform a clean installation of the newest SK? I still have some old version installed and the Steam version of the app. Iā€™d like to get rid of everything and start fresh - without actually clean installing Windows again. :stuck_out_tongue:

P.S.: I reread your posts on Reset. I also have a 2080 Ti and am also still looking for either a 3080 or a 3090, so we can finally do 4K@120Hz. Oh, and you mentioned OLEDs, plural, aside from 120Hz BFI, so I assume you got a new CX as a second TV? :slight_smile:

  1. Thatā€™s because those doofuses are using an obsolete technique for rendering D3D that is not capable of bypassing DWM composition. Thereā€™s nothing intrinsically problematic about windowed mode, as long as you have Special K forcing the game to use Flip Model so that it can use the DWM the efficient way :slight_smile:

  2. No, do not enable G-Sync for windowed applications ā€¦ that does something entirely different than you are thinking.

G-Sync for windowed apps actually allows the application in the foreground to change the refresh rate of the DWM, about the only use-case where it makes any sense would be web browsers. For games, you almost always are going to have a window filling your entire screen.

Iā€™d go as far as to say, that setting for windowed mode G-Sync is pure evil and you need to forget that it exists because it will cause problems if you enable it, and it has nothing to do with getting G-Sync to work in a borderless fullscreen window.

  1. I have several of them :stuck_out_tongue: I love my OLEDs.

Yes, it is true that I use Black Frame Insertion pretty much everywhere. I have a powerful enough GPU that I can do 60 FPS locked in every one of the games in my software library, so G-Sync is pointless and Black Frame Insertion makes it feel like Iā€™m playing on a really big and really HDR CRT :slight_smile:


Just overwrite the Steam version w/ the Download at the top of this site. Itā€™s not like Steamā€™s ever going to update that version, and itā€™s kind of handy to be able to launch it directly from Steam.

1 Like