Jump to content
Sign in to follow this  
L3m0n

Using Special K for better frame pacing/limiting

Recommended Posts

Special K is an injector that can alter some very basic things about how the game is doing things on the graphics side. There is a version of Special K that gives better framepacing, ie fewer dips/stutters, excluding the areas where it is caused by background loading. It also allows the game to be framerate limited without taking a hit to framerate like what the in-game limiter does.

The whole thread about it is here: https://discourse.differentk.fyi/t/microsoft-flight-simulator/649/18

On my system I can now lock the game at 30 and the only stuttering I encounter is when loading is occurring. Using the in-game limiter I would be getting sub-30 fps often even though without the limiter the lowest my framerate would drop to is 40-45ish.

BASIC INSTALL INSTRUCTIONS (if you don't want to read the link)

1. Create a new folder in /Documents/ titled "My Mods". Inside that folder create another new folder called "Special K" - the result should be "Documents\My Mods\SpecialK"

2. Now download this; https://sk-data.special-k.info/VersionControl/SpecialK/0/SK_UWP-thus-IPW_0_11_0_45.7z

3. Extract the contents of that zip into "Documents\My Mods\SpecialK"

4. Now download this: https://sk-data.special-k.info/SK_FlightSimulator.7z

5. Extract that archive into the same folder, ie "Documents\My Mods\SpecialK" and overwrite any identical files.

6. Now launch SKIF.exe that is inside the Special K folder.

7. Hit the "Injection Config" tab at the top.

8. In the whitelist field enter "FlightSimulator.exe"

9. Click the "Global injection" tab and hi "start service"

10. Launch MSFS, when it gets to the menu screen quit.

11. Go to "Documents\My Mods\SpecialK\Profiles\Microsoft Flight Simulator" and open "SpecialK.ini" with a text editor

12. Enter these vaules into the .ini files, use ctrl-f to quickly find them

[Threads.Analyze]
FileActivity=true

[Window.System]
Borderless=true
Center=true
Fullscreen=true

[Render.FrameRate]
TargetFPS=60.0
LimiterTolerance=1.333
SleeplessRenderThread=true
SleeplessWindowThread=true
EnableMMCSS=true
MaxBusyWaitPercent=0.0
PreRenderLimit=6
BackBufferCount=5
PresentationInterval=1

[Render.DXGI]
UseFlipDiscard=true
SwapChainWait=50

[SpecialK.System]
EnableCEGUI=false

In the above you can change "TargetFPS=" to 30, or any other value you want. Just make sure that "SwapChainWait=" is a value 2-3x bigger than your desired framerate, ie 30fps = 60/90 swapchain.

13. Launch the game. Framerate should more consistent now, with fewer drops and stutters EXCLUDING loading stutters. If you use the framerate limiter you should be able to run at whatever framerate you want without the FPS penalty of the games built in framerate limiter.

NOTE: This might not work for non-steam versions of the game. This also might cause issues on older GPUs like Nvidia 10xx series.

  • Like 1

Share this post


Link to post
Share on other sites
1 hour ago, Lotharen said:

I have to admit, my first reaction was. "How is a cereal going to do that!"

I thought of something entirely different. 

  • Like 4

FSX | DCS | X-Plane 11 | MSFS 2020 | IL2:BoX

Favorite aircraft currently: MSFS Savage Cub

Share this post


Link to post
Share on other sites

Hm ... somehow doesn't work, when I press the exe, it starts briefly and closes again


i7-10700k 5,1 GHz - 18 GB RAM - ASUS 1080Ti  - Dell G-Sync Monitor

Share this post


Link to post
Share on other sites

Good post, thanks!

Chuckled a bit at the part where we're now calling the 10-series cards "old" 😄

 

  • Like 1

Intel Core i7 8700k clocked to 4.6GHz, GTX1080Ti, 32GB DDR4 RAM, MSFS installed on NVMe drive, Windows 11, Dell 27" 60Hz Monitor + Dell 24" 60Hz Monitor. Resolution 1920x1080. Game Mode on, GPU scheduling enabled (Win11). MSFS settings: High-End for airlines, Ultra for GA.

Share this post


Link to post
Share on other sites

Was never a fan of these snake oil miracle cures. Like any injector whether things like this, or even afterburner there is an inherent and likely risk of side effects. More specifically crashing. If the "fix" was so simple it would be baked into the drivers and or games it miraculously "fixes". 

 

  • Like 3

ASUS ROG STRIX Z390-E GAMING / i9-9900k @ 4.7 all cores w/ NOCTUA NH-D15S / 2080ti / 32GB G.Skill 3200 RIPJAWS / 1TB Evo SSD / 500GB Evo SSD /  2x 3TB HDD / CORSAIR CRYSTAL 570X / IPSG 850W 80+ PLATINUM / Dual 4k Monitors 

Share this post


Link to post
Share on other sites
4 hours ago, styckx said:

Was never a fan of these snake oil miracle cures. Like any injector whether things like this, or even afterburner there is an inherent and likely risk of side effects. More specifically crashing. If the "fix" was so simple it would be baked into the drivers and or games it miraculously "fixes". 

 

It changing the flip model presentation to using flip discard. Its not some sort of 'snake oil' but forcing the game to do this; https://devblogs.microsoft.com/directx/dxgi-flip-model/

There are plenty of DX11 titles that, for whatever reason, aren't doing this. Probably because it was never explicitly demanded by Microsoft since older (pre-10) windows versions had issues with it. MS is forcing developers to do it with DX12 though since it results in more consistence frame pacing and slightly lower input lag.

Now as to why Asobo didn't enable it here I can only speculate. Maybe they just went with flip sequential (bitblt) because that is DX11 SDK default. Or maybe they don't care too much about 'optimizing' the current DX11 build - this game is being released on Xbox Series X in a few months which is using DX12 so presumably a DX12 update for PC isn't very far out. And when/if a DX12 update does come the game will be using flip_discard, which is all this injector is forcing the game to do.

3 hours ago, Colonel X said:

No it doesn't.

2 hours ago, Dragonscoils said:

The thing is I get stuttering without anything on my pc hitting 100%. Is this the "background loading" you speak of?

It could be but if you are flying in a circle over an area and still get stuttering then that is a framepacing issue. This should help.

  • Like 1

Share this post


Link to post
Share on other sites

After messing with Nvidia settings, bios, process lasso, and all that nonsense.... SpecialK actually did the most for getting rid of the stuttering I had. It was night and day difference. Definitely worth trying if you're suffering stutters 

  • Like 1

Share this post


Link to post
Share on other sites

Trying also to get this to work but MSFS is closing itself shortly after the "Press any Key" Screen with SK running. Am i missing something here?

Edited by ThomseN_inc
  • Like 1

Intel i9-13900K | Gigabyte Z790 Aorus Master | RTX4090 | 2x16GB Corsair Vengeance DDR5-6000 | Be quiet! Pure Loop 2 FX AiO | Win 11

Share this post


Link to post
Share on other sites

You’re getting further than I am then, I’m not even getting the game hooked. Currently I have a thread going on in the developer forums now. I’ll let you know how I get on.  

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...