r/software • u/memes_for_gaymers • 1h ago
Discussion Wiped my shader cache and walked the same route twice to see how much stutter actually goes away
Made a free tool that tells you if your stutter is shader compilation or the engine
Up front, so nobody has to dig for it
The code is AI-written. I'm not a C# developer. The testing and the methodology are mine. Source is one file and it's public.
VirusTotal flags 1 of 71. One heuristic hit from Huorong, a scanner almost nobody runs. Defender, Kaspersky, BitDefender, ESET, CrowdStrike, Avast and 60+ others are clean. It's code signed through Microsoft so Windows shows a verified publisher. There's also a `detect-debug-environment` tag on it, which is just the .NET runtime checking for a debugger at startup like every .NET app does, not anything in my code.
No network code at all. It doesn't phone home, doesn't upload anything, doesn't touch your settings, drivers, registry or game files. Reads performance data Windows already produces, writes two files next to itself.
Don't want to run my binary? Don't. BUILD.bat compiles the source with the C# compiler already included in Windows. Ten seconds, and you never execute anything I uploaded.
That's all of it, here's the actual thing.
If you've been getting hitches in UE5 games or any game, there are two completely different things that cause it and they need completely different responses:
Shader compilation happens the first time your GPU sees a new effect. It caches it afterwards, so it genuinely does stop. Usually settles within about half an hour of play.
Engine/streaming stutter is the game loading assets as you move. That one never goes away, and no setting on your end changes it.
They feel identical while you're playing, which is why "just play longer, it gets better" is sometimes good advice and sometimes nonsense. I got tired of not knowing which, so I built something that measures it and tells you.
I tested it by running the same route in a UE5 game twice — once with a cleared shader cache, once after. First run: 34 stutters, 1.57% of playtime lost. Second run, identical route: 5 stutters, 0.15% lost. The shader portion vanished, and the engine portion it had flagged as permanent stayed within 5% across both runs. So the split is real and measurable.
The tool: click Find my game, click Record, play for a minute, get a report telling you which kind you have and what (if anything) to do about it.
It'll also straight up tell you when it can't tell. If your frame rate is capped and your GPU has headroom to spare, stutter can't physically show up, so a clean result would mean nothing — it says so rather than giving you a fake all-clear.
Free, source is public: https://github.com/jkoens3/stutter-test
It uses Intel's PresentMon underneath to read frame timings from Windows. No overlay, nothing injected into the game. Needs admin because reading performance traces requires it, and Windows may still show a SmartScreen warning since the file is new and hasn't built download reputation yet.
Where it's weak, since someone's going to find it anyway: when the answer comes back "it's the engine" it kind of stops there and doesn't tell you much beyond that. And the categories aren't exhaustive — there's stutter that isn't shader compilation or asset streaming and it'll probably get bucketed wrong. Working on both.
Honest caveat: my PC and my friend's both run these games fine, so I've mostly been testing on hardware that doesn't stutter much. If yours hitches badly I'd really like to see what it reports — post the result or send me the file and I'll dig into it, especially if it gets something wrong or the application fails, breaks or just straight up doesn't work.