# SCSKiller: pre-compiling a game's shaders into the driver cache before you play

> SCSKiller is a Windows tool that reads a game's shipped shader files, works out the DirectX pipelines it will build, and compiles them into the NVIDIA or AMD driver cache ahead of time. Its own published numbers show the effect clearly and also show where it stops helping.

**BlueHeisenberg/SCSKiller** — Kill shader compilation stutter before you play. Compiles your games' shaders into the GPU driver's cache ahead of time. Windows, NVIDIA and AMD.

- Repository: https://github.com/BlueHeisenberg/SCSKiller
- Website: https://scskiller.com
- Stars: 3,358 · Forks: 83
- Language: C#
- License: GPL-3.0
- Published: 2026-10-16 · Updated: 2026-10-16 · Language: en
- Canonical page: https://hysenlabs.com/projects/blueheisenberg-scskiller

## The mechanism is cache pre-warming, not runtime patching

The problem is specific. When a game encounters an effect it has not compiled yet, the GPU driver compiles the shader at that moment and the frame waits. That wait is the stutter. SCSKiller's answer is to do the compilation before the game starts, in its own process, with the game closed.

The mechanism is documented in three steps: it reads the shaders a game ships with, works out which pipelines the game will build, and compiles them into the driver's cache ahead of time. Nothing is injected into a running game for the ordinary path, and no game files are modified. That is why it is fast and why it is limited at the same time. It can only warm what it can predict from files on disk.

That last sentence is the crux, and the README states it plainly: a shader it could not find or record can still compile in game. So the tool is a bet on completeness of static analysis, backed by a recording mode for the games where the static path comes up short.

The scope is Windows only, DirectX 12 games on either vendor, plus DirectX 11 games on NVIDIA. Intel GPUs are not supported, and the reason given is plain: the author has no Intel hardware to test on.

## What the project's own measurements show, including the weak cases

The README publishes a results table measured with SCSKiller's own recorder, over about five minutes of play per game from a cold driver cache. A stutter is defined there as a shader compile the game waited 20 ms or more for. Reproducing a few rows makes the pattern clearer than quoting a headline.

Final Fantasy VII Rebirth on an NVIDIA RTX 5090 went from 19 stutters and a 76 ms worst stall to 0 and 5 ms. Silent Hill: Townfall on the same card went from 24 and 347 ms to 0 and 8 ms. Tiny Tina's Wonderlands went from 583 and 315 ms to 0 and 13 ms. Star Wars Jedi: Survivor went from 9,038 stutters to 11.

The weak case is Hogwarts Legacy. On the RTX 5090 it still had 87 stutters and a 100 ms worst stall after warming, from 1,014 and 2,400 ms cold. On an AMD Ryzen AI Max+ 395 it moved from 27,743 stutters to 206. That last number is the honest signal about the tool's ceiling: where a game prepares shaders dynamically in ways the files do not reveal, warming removes most of the cost and leaves the rest. The README's own caveat sits underneath the table: your numbers depend on the game, GPU and driver, and SCSKiller fixes shader compilation stutter only, not traversal or streaming stutter.

## The recorder is the fallback for games the files cannot predict

For titles where the pipeline set cannot be derived from shipped files, the optional recorder is the answer. The described workflow is to play a few minutes with recording on, then compile. The recorder also runs alongside a mod that replaces shaders, which is how it captures pipelines that only appear in a modified form.

The recorder also produces data beyond the compile itself. With it enabled, each game's page graphs the last session's frame times and marks shader stutters apart from other hitches, which gives you a way to tell the two problems apart before concluding that a stutter is the driver's fault. The session data stays on the machine.

The boundary with anti-cheat is the part to read carefully. SCSKiller's stated position is that it leaves anti-cheat games alone beyond reading their files: no launching, no injecting, no recorder. There is exactly one exception, and it is deliberately narrow: an opt-in, per-game, confirmed-every-time offline session without EasyAntiCheat for ELDEN RING and ARMORED CORE VI, at your own risk. If you do not want a tool that touches that boundary at all, the exception is off by default and stays off until you turn it on for one named game.

For Patreon supporters there is a community shader hash database, so pipelines other players recorded can be used without recording them first. Sharing is opt-in, anonymous and hash-only.

## Installing it means accepting an unsigned binary

Requirements are Windows 10 version 2004 or 11, 64-bit, an NVIDIA or AMD GPU, and DirectX 12 games or DirectX 11 on NVIDIA. There is no installer script to write here; the project distributes built binaries.

The installer is `SCSKiller-Setup.exe` from the repository's Releases page. It installs for the current user only, needs no admin rights, and updates itself. There is also `SCSKiller-<version>-Portable.zip`, which you unzip to any writable folder and run `SCSKiller.exe` from; it updates itself as well and keeps its settings and data in a `data` folder next to the executable.

That portable folder has one operational consequence the README calls out: turn recording off for your games before deleting it, so the recorder leaves the game folders behind.

The security caveat is the significant one. Releases are not code-signed yet, so the first run will probably trigger SmartScreen's "Windows protected your PC" message, and the documented workaround is to click More info and then Run anyway. Updates do not show it. Signing through the SignPath Foundation is described as in progress, and the README tells you to verify a download by comparing its SHA-256 against the value in the release notes. A warning that instructs you to bypass a Windows security prompt is a real cost of using this tool today, independent of whether the tool is good.

The repository also warns that the only official downloads are its own Releases page, which is the usual pattern for a project with an X account, a Discord and a Patreon that all look official and one of which is not.

## Store detection and driver updates are the unglamorous half

Finding your games is not a solved problem in the general case, and the feature list shows how wide the net is cast. SCSKiller detects games in Steam, Epic Games, EA app, GOG, Ubisoft Connect, Xbox (PC), Battle.net, PURPLE, HoYoPlay and Gaijin, and it also accepts games you add yourself for anything outside those launchers.

The library view exposes what the tool knows about each title: shader and pipeline counts, cache size, compile time, and a status such as Needs rebuilding or Warmed, with a Play button that starts the game through its store. Games known to stutter are sorted to the top with the reason attached, which is a better triage signal than sorting alphabetically by title.

Two behaviours deserve attention. Titles whose engine prepares its own shaders are marked as such rather than queued, which saves you from warming a game where nothing would be cached. And compilation reruns after a driver update, because a driver update clears the cache, automatically if you let it. That automation is the difference between a tool you use once and a tool that keeps the cache valid, and it is also the feature most likely to burn disk and CPU on a schedule you did not choose.

Release cadence supports treating it as maintained: v1.2.3, v1.2.4 and v1.2.5 landed between 2026-10-05 and 2026-10-09, and the last push was on 2026-10-11. Licence is GPL-3.0, with a LICENSE-EXCEPTION.txt alongside the LICENSE file whose effect you should read rather than assume.

## Conclusion

Install SCSKiller if you play DirectX 12 titles on NVIDIA or AMD and your stutter is shader compilation rather than asset streaming, since it fixes exactly that and nothing else. Do not expect it to help with traversal or streaming hitches. The recorder normally stays off for anti-cheat games, except for an opt-in, confirmed offline session for ELDEN RING and ARMORED CORE VI. Before the first run, verify that you are taking `SCSKiller-Setup.exe` or the portable zip from the repository's Releases page rather than any mirror, and compare the SHA-256 in the release notes, since releases are not yet code-signed and SmartScreen will warn you.

## FAQ

### What does SCSKiller actually do?

It reads the shaders a game ships with, works out which DirectX pipelines the game will build, and compiles them into the GPU driver's cache ahead of time in its own process with the game closed, so the game does not pause to compile mid-session.

### Does SCSKiller work with Intel GPUs?

Not yet. The README states Intel GPUs are not supported because the author has none to test on, and points to the contact address for anyone wanting to sponsor an Intel Arc GPU.

### Is SCSKiller safe to use with anti-cheat games?

The tool's stated policy is to leave anti-cheat games alone beyond reading their files, with no launching, injecting or recording. The one exception is opt-in per game and confirmed each time: an offline session without EasyAntiCheat for ELDEN RING and ARMORED CORE VI.

### Why does Windows warn me about the download?

Releases are not code-signed yet, so SmartScreen shows "Windows protected your PC" on first run and the README tells you to choose More info and Run anyway. You can verify a download by comparing its SHA-256 with the value in the release notes.

### Will SCSKiller fix all my stuttering?

No. The README states it fixes shader compilation stutter only, not traversal or streaming stutter, and a shader it could not find or record can still compile in game. Hogwarts Legacy still recorded 87 stutters after warming in the project's own table.

### What happens after a GPU driver update?

A driver update clears the shader cache, so SCSKiller compiles again, on its own if you let it.

## Sources

- [BlueHeisenberg/SCSKiller on GitHub](https://github.com/BlueHeisenberg/SCSKiller)
- [License: GPL-3.0](https://github.com/BlueHeisenberg/SCSKiller/blob/main/LICENSE)
- [Project website](https://scskiller.com)
- [README](https://github.com/BlueHeisenberg/SCSKiller/blob/main/README.md)
- [Releases](https://github.com/BlueHeisenberg/SCSKiller/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/blueheisenberg-scskiller
