There’s nothing more fascinating to me than seeing a familiar utility’s name pop up on my WizTree every time I decide to audit my SSD and see what’s taking up my increasingly expensive M.2 NVMe storage. It has become something of a ritual, and it usually ends with me deleting something Windows put there without asking as it always does.
So this time, I went in expecting more Windows 11 process bloat. What I found instead, however, was Nvidia, and a folder called DXCache, holding 40 gigabytes across 946 files for a purpose that wasn’t immediately clear. For context, my entire graphics driver install takes up less than a single gigabyte. Perhaps this folder was doing something it was designed to do, but I couldn’t remember ever agreeing to let it get this big.
The 40GB had nothing to do with my graphics driver
It sat in a folder that the driver installer never touches
DXCache is where Nvidia stores compiled DirectX shaders. These are instructions that your GPU has to compile before it can render a game, and keeping the finished version around means the next launch can skip that work. It is one reason a game can stutter through its first run and feel perfectly smooth the next time.
What’s rather strange is where Nvidia puts it. The driver is located in Program Files, but DXCache is inside the user profile at AppData\Local\NVIDIA, which is a folder most people seldom have any reason to open. Installing a new driver doesn’t touch it, and neither does uninstalling the old one.
As someone who swaps drivers constantly for testing and benchmarking, with every swap leaving compiled shaders behind that were built for a driver version I no longer have installed, my cache was always going to grow faster than most. Those entries don’t get cleaned out when they stop being useful on their own. Fresh shaders stack on top of them, and nothing gives you any indication of what the folder weighs.
Related
Nvidia introduces new app feature designed to reduce game load times
“Auto Shader Compilation” aims to get you into games more quickly.
Nvidia gave the shader cache a limit, I had turned it off
And Nvidia has never put that number anywhere you’d look for it
What I realized later is that Nvidia does give you a setting for this. If you open the Nvidia app, head to Graphics, and then Global Settings, you’ll find Shader Cache Size right there with a Cache Size option. It lets you choose how much space the driver is allowed to use for compiled shaders, from Disabled through a handful of fixed limits, then Driver Default, and finally, Unlimited.
Mine, of course, had been set to Unlimited at some point. I’d like to say that I had good reason for toggling this, but I probably changed it years ago while trying to “fix stuttering” in some game and followed the usual advice that a larger shader cache means fewer recompiles. While the advice itself isn’t wrong, the problem is that “unlimited” isn’t a big cache. It means that there’s literally no ceiling to it, and therefore nothing tells it when enough is enough.
The Driver Default, for what it’s worth, is 16GB. You won’t find that number in the Nvidia app, which describes the setting without attaching a figure to any of its values, and you won’t find it in the Control Panel either. It can only be found in a support article about deleting corrupted shader cache files, phrased as the current value, and that very same article closes by suggesting that “larger sizes can provide optimal performance with larger game libraries.”
One of the most intriguing bits about this is the fact that, nowhere does Nvidia suggest checking what the folder actually weighs on your drive, and that’s how a reader with the default never thinks about it, while someone like me running with no cap at all ends up with 40GB of dead storage.
Related
I let Claude clean up my Windows install, and it found bloat I didn’t even know existed
Having a large boot disk is a curse and a blessing
I could uninstall half my PC’s programs and still not touch this
Uninstalling, Disk Cleanup, and Storage Sense all missed it
When I think about reclaiming some space on my SSD, I usually start in the same places everyone else does. I check “Add or Remove Programs” for something huge I forgot about, uninstall a game or two, then run Storage Sense and see what Windows thinks I can get rid of. None of those actions were ever going to find the bulk of the DXCache.
It isn’t a program, so there’s nothing to uninstall. Storage Sense doesn’t touch it, and while Disk Cleanup has a DirectX Shader Cache option that sounds promising, it clears only Windows’ cache at D3DSCache, not Nvidia’s. Even deleting the games that generated the shaders doesn’t help, because the cache belongs to the driver and not the game. The more I played, the more the clutter accumulated. Worse still, when I deleted the games, the cache stayed exactly where it was. You could delete the games that generated the cache, but the gigabytes of cache would still remain.
That explains why it survived every bit of weekly housekeeping that I normally do. On my desktop, it consumed 40GB on a 1TB SSD, which is annoying. On my laptop with a 512GB drive and an Nvidia GPU, that same behavior left unchecked would’ve left considerably less storage for me. Unless I happened to stumble across the folder myself (it’s my job to do so), I had no reason to even know it was there.
Related
I ran a single command and found more garbage on my Windows 11 drive than Storage Sense cleaned all month
Microsoft’s in-built utilities are only as useful as you allow them to be
So what do you do when you find an oversize DXCache?
The first thing you’d want to do is check the size, of course. You’d have to dive into %Localappdata%\NVIDIA into File Explorer and look at the size of the DXCache. If the number surprises you, Nvidia’s instructions are to set Cache Size to “Off”, reboot, empty DXCache and GLCache, and then set it back to Driver Default. You stand very little to lose from it, and you’ll likely only lose a little “smoothness” in a gaming session as it rebuilds. I would much rather have 40GB of storage, though.

