The two weirdest games I know of when it comes to using SteamAPI happen to be made by Remedy. It could all be a coincidence, since I do not really know (or care) who may have been contracted to do the ports.
Pirates may actually have āthe superior versionā in this one case, depending on how much or how little of the Steamworks API their crack actually implements
Hello! Iād first like to thank you for making and maintaining SpecialK ā itās helped me enjoy some broken game ports in the past and now helps me also smooth-out a lot of my favourite games!
Iām writing here (for the first time), since Iāve identified a specific problem with this version of the .dll that affects only Control: if āUseFlipDiscard=trueā then (on my system at least, running a 5700XT with the latest driver) the game crashes after clicking on āplayā from steam and after like half a second of black screen. Iāve identified the cvar that causes it through trial and error. Iāve set everything as described in the opening post under āfor best frame pacingā and it works only if āUseFlipDiscard=falseā. I donāt think itās a biggie, but this game is the only one that does that ā all other games Iāve tested (Anthem, Far Cry 5, AC Odyssey, Horizon ZD and SOTR) work fine with flip discard.
On a side note, is there a way to completely disable any UI overlay to appear during gameplay? The cvar āEnableCEGUI=falseā does not in fact disable the UI overlay (maybe this is not the inteded funcionality for this cvar?), and a very broken game (Anthem) alternates between displaying and then hiding every single widget at the same time on any button press on the keyboard (mouse clicks donāt though). So, having the option to totally disable the UI overlay would solve that problem without needing to try to determine why that specific game does that.
I hope I havenāt asked too many questions at once. Thank you kindly for the answers in advance!
Special K has two distinct UIs, which unfortunately causes some confusion. CEGUI is used for the text OSD / command console and Steam achievement popups, ImGui is used for everything else.
Realistically there is no reason you would ever need to disable ImGui, it is really polished and tightly integrated into the code. CEGUI, on the other hand, is a big collection of external DLLs with all sorts of compatibility problems ā it has an option to turn it off for a reason
I suspect in your case, it is not so much disabling FlipDiscard that is needed as much as it is turning the number of backbuffers down.
AMD drivers have always had problems with SwapChains with large numbers of backbuffers, I thought the situation might have improved in recent years but I guess not. Try setting BackBuffer Count to something more conservative like 3 or 4 and Max Device Latency to BackBuffer Count + 1.
It is mostly NVIDIA drivers that benefit tremendously from way more backbuffers than necessary, so you probably will not loose out on anything here.
Thought AMD wrote the driver code to keep pre-rendered frames at 1 whereas NVIDIA only overrides this once users toggle Ultra Low Latency mode.
Technically AMD also has anti-lag and Chill but they do other things Iām not 100% about something in regards to CPU and less GPU related.
EDIT: Effectively this hampers the design of a larger amount of back buffers and then one less for the pre-rendered frames if the back buffer count might as well be 2 - 3 as AMDās drivers forcibly adjust the pre render frame value now.
Thank You for the swift reply! Iāve tried setting PreRenderLimit and BackBufferCount to 3 and 2, and even -1, but the same thing happens, heres the crash log file after that
Can you please not do that in the future? Pastebin.com, or if your account has been active long enough, uploading logs directly to the forum are preferred.
Anyway, judging by that crash I think thereās probably a software incompatibility here. I would need to see dxgi.log or SpecialK.log (whichever injection method you are using).
That is such a weird thing to seeā¦ maybe you could try setting ForceWindowed=true in the INI file?
Up until recently it had been my policy to always force games into windowed mode when using flip model, because there are some tricky bits to getting flip model working in fullscreen exclusive. I thought I solved those bits, but it looks like maybe I didnāt.
Donāt worry about the normal drawbacks that come from windowed mode, they donāt exist when flip model is being used.
It even does not reset PreRenderLimit to 3 anymore (if set higher, like the suggested value of 6).
In the end, youāve solved my problem. I hope the information Iāve provided will also be of some use to you!
P.S. What Youāve written about ImGui ā I see that it works beautifully, and Iām 100% sure itās Anthems fault. Still, is there a way (a compatibility setting perhaps) that could eliminate the described weird behaviour (it clearly has something to do with keyboard input and perhaps any key on the keyboard being interpreted as a key shortcurt for widgets activation)?
Widgets go haywire in all Frostbite engine games, unfortunately. The second they release a good Frostbite game I might have the motivation to fix that problem Mass Effect: Andromeda was such a let down.
And yes, thank you for working with me on thisā¦ I will need to go back to the drawing board and force windowed mode for D3D11 games that use flip model.
I donāt think thereās really much benefit to that, to be honest. Turning on flip model in a fullscreen application brings next to no benefit.
If the game already works in fullscreen mode, then a traditional fullscreen mode with no swapchain overrides is going to work just as well and without weird compatibility issues.
Well, 30 hours of playing later and Iām finally finished with Control and both of its expansions. Itās still as a great game as I remembered, although I understand why many feels that the first expansion, āThe Foundationā, was more of a āfillerā sort of DLC. It provided a few hours of fun for me regardless though.