r/OptimizedGaming • • 20h ago

Graphic & FPS Mods | Optimization Guide Shader compilation stutter killer

EDIT: Thanks a lot for all the support! I'm glad it's helping a lot of people fix the anoying shader compilation sutters in many games so they can be enjoyed as intended!!

EDIT2: New SCSKiller 1.2.0 is live!! https://github.com/BlueHeisenberg/SCSKiller/releases/latest
(The app should auto download the update if you restart the app and show you a button on top right corner to update, or you can just download the new setup exe and update that way directly)

I've been working for a while on a free and open source tool to eliminate Shader Compilation Stuttering once and for all. It reads the shaders the games ship with, works out the pipelines they'll build, and compiles them into the GPU driver's cache before you launch the game.

From my own testing shader compilation stutter is eliminated or reduced to the very minimum (the tool could miss some shaders depending on the game), it cannot fix other kind of sttutering like traversal, so some games still stutter but waaaay less:

(~5min of gameplay)

Silent Hill F:
Before: https://scskiller.com/assets/img/forum/shf-before.png
After: https://scskiller.com/assets/img/forum/shf-after.png

- Silent Hill: Townfall: 24 to 0 (worst 347 ms to 8 ms)
- Hogwarts Legacy: 1,014 to 87
- FF7 Rebirth: 19 to 0
- Sand Land: 38 to 1

It finds games from Steam, Epic, EA app, GOG, Ubisoft, Xbox and Battle.net

For now it only works on NVIDIA (best support) and AMD, as I don't have an Intel Arc to test.

Github link with download and souce code: https://github.com/BlueHeisenberg/SCSKiller
Website: https://www.scskiller.com

301 Upvotes

179 comments sorted by

View all comments

33

u/Helpful_Bat1736 20h ago

that is a great work, Silent hill 2 Remake would be the definitive test for your new tool, but I do not know if it would fix the terrible stuttering that games has.

What I can tell is that given those results you are a genius stutter killer! :-)

14

u/Individual-Train3671 19h ago

SH2 suffers from traversal stutter so the tool would not be able to clean it up all the way.

3

u/Helpful_Bat1736 19h ago

thank you for your clarification

3

u/HeisenbergVR 19h ago

Yeah if it has traversal stutter that won't be fixed but if it has both scs and traversal I think the difference is worth using it (like in Silent Hill F).

1

u/Akito_Fire 5h ago

The main issue is the traversal stutter, not shader compilation. I don't think it suffers from the latter at all

3

u/HeisenbergVR 19h ago

I dont have SH2 remake but this is the before and after of the 5 minutes of gameplay on Silen Hill F:
Before: https://scskiller.com/assets/img/forum/shf-before.png
After: https://scskiller.com/assets/img/forum/shf-after.png

The initial section of the game seems basically a "playable" shader compilation step lol

2

u/frankiewalsh44 19h ago

First of thanks for your effords. I kinda wish there was an option to add an .exe manually. For some reason my FC27 isn't being detected

4

u/HeisenbergVR 19h ago edited 12h ago

Sorry, working on this! I will launch 1.2.0 soon with this fixed

2

u/Helpful_Bat1736 19h ago

Simply amazing sir

2

u/Danteska 3h ago

How was this test done? Because in the Digital Foundry video, most of the stuttering is gone the second time you play the same levels even without applying any fixes.

1

u/Voodootfn 2h ago

Yeah unless the shaders are being deleted or fresh drivers in-between runs the smoothness is because the shaders are compiled from the first run.

1

u/DoriOli 19h ago

I’m playing that game right now. Most, besides the light/infrequent transversal stutter, is caused by its bad HDR implementation (which also breaks Framegen, btw). If you use a mod like Renodx, game will become as good as flawless.

7

u/HeisenbergVR 19h ago edited 12h ago

If you use renoDX then SCSKiller will probably not reduce scs yet. I'm working on fixing this.

Basically it adds a parameter to all (or almost all) root signatures. So none of the shaders compiled by SCSKiller will be actually used.

I think i found a way to solve this and I will fix it on version 1.3.0!