# Is het veilig de DirectX Shader Cache te verwijderen in Windows

De DirectX Shader Cache bevat shaders, de kleine programma's die een videokaart uitvoert, nadat Windows ze heeft gecompileerd, zodat games en apps ze niet opnieuw hoeven te compileren. Het is veilig te verwijderen en Windows biedt het zelf aan in zijn opschoontools. Het addertje is dat de volgende start hem opnieuw moet opbouwen, dus games kunnen een tijdje traag laden of haperen. Wis hem als hij echt ruimte inneemt of als je vermoedt dat hij beschadigd is, niet als routineonderhoud.

## Waar hij staat

De systeemcache is `%LOCALAPPDATA%\D3DSCache`, met daarin een map voor elke cache. Videostuurprogramma's en games houden ook hun eigen caches bij:

| Pad onder je gebruikersmap | Eigenaar |
| --- | --- |
| `AppData\Local\D3DSCache` | Windows DirectX |
| `AppData\Local\Microsoft\DirectX Shader Cache` | Windows DirectX-pipelinecache |
| `AppData\Local\NVIDIA\DXCache`, `AppData\Local\NVIDIA\GLCache` | NVIDIA |
| `AppData\LocalLow\NVIDIA\PerDriverVersion\DXCache` | NVIDIA |
| `AppData\Local\AMD\DXCache`, `AppData\Local\AMD\VkCache` | AMD |
| `AppData\Local\Intel\ShaderCache`, `AppData\LocalLow\Intel\ShaderCache` (huidige stuurprogramma's) | Intel |
| `AppData\Local\VulkanCache` | Vulkan |

Welke er bestaan hangt af van je grafische hardware. Steam bewaart per game een cache in zijn eigen bibliotheek, zie [de shadercache van Steam](/nl/windows/blog/steam-shader-cache-windows). Zo meet je de systeemcache:

```powershell
$p = "$env:LOCALAPPDATA\D3DSCache"
[math]::Round((Get-ChildItem $p -Recurse -Force -File -ErrorAction SilentlyContinue | Measure-Object Length -Sum).Sum / 1MB, 1)
```

Het getal is in MB.

## Wanneer wissen helpt

| Wat je ziet | Wissen? | Waarom |
| --- | --- | --- |
| Storingen, crashes of haperingen die na een stuurprogramma-update begonnen | Het proberen waard | Een verouderd of beschadigd item kan de oorzaak zijn, en opnieuw opbouwen vervangt het |
| De cache is tot vele gigabytes gegroeid en je hebt de ruimte nodig | Ja | Hij wordt opnieuw gemaakt, maar alleen voor games die je opnieuw speelt |
| Een game hapert de eerste keer in elk gebied | Nee | Dan wordt de cache gevuld, en wissen laat dit opnieuw gebeuren |
| Algemene traagheid van de pc | Nee | Het heeft hier niets mee te maken |
| Routineopschoning | Niet nodig | Je betaalt het opnieuw opbouwen voor weinig winst |

## Zo wis je hem

De ingebouwde manier, voor de systeemcache:

1. Open **Instellingen › Systeem › Opslag › Tijdelijke bestanden**.
2. Vink **DirectX Shader Cache** aan en laat de rest zoals je het wilt.
3. Kies **Bestanden verwijderen**.

[Schijfopruiming](/nl/windows/blog/disk-cleanup-vs-storage-sense-windows) (`cleanmgr`) heeft dezelfde optie. Windows registreert hem als opschoonhandler, `D3D Shader Cache`, en de ThinkPad waarop is getest had hem ook.

Met de hand: sluit je games en grafische tools, open `%LOCALAPPDATA%\D3DSCache` met `Win + R` en verwijder wat erin staat. Sla over wat in gebruik is. Verwijder voor de cache van een stuurprogramma de inhoud van de map hierboven met de game gesloten. De **Shader Cache Size** van het NVIDIA-configuratiescherm beperkt alleen hoe groot hij kan worden.

## Wat je daarna kunt verwachten

De eerste start van elke game compileert de shaders opnieuw. Sommige games tonen een voortgangsbalk, andere haperen terwijl je door nieuwe gebieden loopt totdat de cache vol is. Hoe lang dat duurt hangt af van de game en je hardware, en het kunnen minuten zijn. Beoordeel het resultaat niet op basis van de eerste sessie.

## Wat je beter niet doet

- Wis hem niet vlak voor een gamesessie of een benchmark. Dan is hij op zijn traagst.
- Plan het niet in. Het is geen rommel die zich schadelijk opstapelt, en een cache die altijd leeg is betekent altijd compileren.
- Verwijder de mappen van het stuurprogramma buiten de paden hierboven niet. `C:\Windows\System32\DriverStore` en de installatiemappen van stuurprogramma's zijn geen caches.
- Verwacht niet dat het een game met kapotte bestanden repareert. Gebruik daarvoor de verificatieoptie van de launcher.

## Waar Mole past

**Opschonen** van Mole voor Windows toont deze caches bij naam, waaronder **DirectX Shader Cache**, **DirectX Pipeline Cache** en de NVIDIA-, AMD- en Vulkan-mappen hierboven, plus de oudere `Local`-map van Intel, elk met zijn grootte. Mole toont de `LocalLow`-map die huidige Intel-stuurprogramma's gebruiken niet. Ze staan standaard uit en Aanbevolen laat ze weg, omdat elke game dan zijn shaders opnieuw moet compileren. Vink er een aan als je hebt besloten dat die prijs het waard is. De caches per game van Steam verschijnen op dezelfde manier, en de NVIDIA-cache in `ProgramData` vraagt beheerdersrechten. Voor de rest van de map waarin ze staan, zie [wat je kunt verwijderen in AppData](/nl/windows/blog/appdata-folder-what-can-delete).

## Veelgestelde vragen

### Is het veilig de DirectX Shader Cache te verwijderen?

Ja. Windows bouwt hem opnieuw op. De prijs is langzamer laden of wat haperingen in games de volgende keer dat ze draaien.

### Verbetert het verwijderen van de shadercache de prestaties?

Meestal niet, en op korte termijn wordt het slechter. Het helpt als een beschadigde cache storingen veroorzaakt, of als je de schijfruimte nodig hebt.

### Waar wordt de DirectX Shader Cache bewaard?

In `%LOCALAPPDATA%\D3DSCache`. NVIDIA, AMD, Intel en Steam houden eigen caches bij in andere mappen.

### Waarom komt de shadercache steeds terug?

Omdat games en apps shaders opnieuw compileren terwijl ze draaien. Daar is hij voor, dus het is geen teken dat het opschonen is mislukt.

### Moet ik de shadercache wissen na een stuurprogramma-update?

Alleen als er na de update iets mis is. Stuurprogramma's bouwen meestal zelf op wat ze nodig hebben, en wissen is een redelijke stap als je storingen of crashes ziet.


Canonical: https://mole.fit/nl/windows/blog/directx-shader-cache-windows
