Kann ich den DirectX Shader Cache unter Windows gefahrlos löschen
Der DirectX Shader Cache enthält Shader, die kleinen Programme, die eine Grafikkarte ausführt, nachdem Windows sie kompiliert hat, damit Spiele und Apps sie nicht erneut kompilieren müssen. Er lässt sich gefahrlos löschen, und Windows bietet das in seinen eigenen Bereinigungswerkzeugen an. Der Haken ist, dass der nächste Start ihn neu aufbauen muss, Spiele laden daher eine Weile langsam oder ruckeln. Leeren Sie ihn, wenn er wirklich Platz belegt oder Sie ihn für beschädigt halten, und nicht als routinemäßige Wartung.
Wo er liegt
Der System-Cache liegt unter %LOCALAPPDATA%\D3DSCache, mit einem Ordner darin für jeden Cache. Auch Grafiktreiber und Spiele führen eigene:
| Pfad unter Ihrem Benutzerordner | Besitzer |
|---|---|
AppData\Local\D3DSCache |
Windows DirectX |
AppData\Local\Microsoft\DirectX Shader Cache |
Windows-DirectX-Pipeline-Cache |
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 (aktuelle Treiber) |
Intel |
AppData\Local\VulkanCache |
Vulkan |
Welche davon existieren, hängt von Ihrer Grafikhardware ab. Steam führt einen Cache pro Spiel in seiner eigenen Bibliothek, siehe Steams Shader-Cache. So messen Sie den System-Cache:
$p = "$env:LOCALAPPDATA\D3DSCache"
[math]::Round((Get-ChildItem $p -Recurse -Force -File -ErrorAction SilentlyContinue | Measure-Object Length -Sum).Sum / 1MB, 1)
Die Zahl ist in MB.
Wann das Leeren hilft
| Beobachtung | Leeren? | Warum |
|---|---|---|
| Fehler, Abstürze oder Ruckeln, die nach einem Treiberupdate begannen | Einen Versuch wert | Ein veralteter oder beschädigter Eintrag kann die Ursache sein, und der Neuaufbau ersetzt ihn |
| Der Cache ist auf viele Gigabyte angewachsen und Sie brauchen den Platz | Ja | Er entsteht neu, aber nur für Spiele, die Sie erneut spielen |
| Ein Spiel ruckelt beim ersten Durchgang durch jeden Bereich | Nein | Das ist der Cache, der gefüllt wird, und Leeren lässt es erneut passieren |
| Allgemeine Trägheit des PCs | Nein | Das hat damit nichts zu tun |
| Routinebereinigung | Nicht nötig | Sie zahlen den Neuaufbau für wenig Gewinn |
So leeren Sie ihn
Der eingebaute Weg für den System-Cache:
- Öffnen Sie Einstellungen › System › Speicher › Temporäre Dateien.
- Kreuzen Sie DirectX-Shadercache an und lassen Sie den Rest, wie Sie ihn haben wollen.
- Wählen Sie Dateien entfernen.
Die Datenträgerbereinigung (cleanmgr) hat dieselbe Option. Windows registriert ihn als Bereinigungshandler, D3D Shader Cache, und das Test-ThinkPad hatte ihn ebenfalls.
Von Hand: Schließen Sie Ihre Spiele und Grafikwerkzeuge, öffnen Sie %LOCALAPPDATA%\D3DSCache mit Win + R und löschen Sie den Inhalt. Überspringen Sie alles, was in Benutzung ist. Löschen Sie bei dem Cache eines Treibers den Inhalt des oben genannten Ordners bei geschlossenem Spiel. Die Shader Cache Size der NVIDIA-Systemsteuerung begrenzt nur, wie groß er werden kann.
Was danach zu erwarten ist
Beim ersten Start jedes Spiels werden Shader erneut kompiliert. Manche Spiele zeigen einen Fortschrittsbalken, andere ruckeln, wenn Sie sich durch neue Bereiche bewegen, bis der Cache gefüllt ist. Wie lange das dauert, hängt vom Spiel und Ihrer Hardware ab und kann Minuten betragen. Beurteilen Sie das Ergebnis nicht nach der ersten Sitzung.
Was Sie lassen sollten
- Leeren Sie ihn nicht vor einer Spielsitzung oder einem Benchmark. Er ist dann am langsamsten.
- Planen Sie das nicht ein. Er ist kein Müll, der sich auf schädliche Weise ansammelt, und ein Cache, der immer leer ist, bedeutet ständiges Kompilieren.
- Löschen Sie nicht die Ordner des Treibers außerhalb der oben genannten Pfade.
C:\Windows\System32\DriverStoreund die Installationsordner des Treibers sind keine Caches. - Erwarten Sie nicht, dass er ein Spiel mit beschädigten Dateien repariert. Dafür gibt es die Überprüfungsfunktion des Launchers.
Wo Mole hilft
Bereinigen in Mole for Windows listet diese Caches mit Namen, darunter DirectX Shader Cache, DirectX Pipeline Cache und die oben genannten Ordner von NVIDIA, AMD und Vulkan, dazu Intels älteren Local-Ordner, jeweils mit Größe. Den LocalLow-Ordner, den aktuelle Intel-Treiber nutzen, listet Mole nicht. Sie sind zunächst nicht angekreuzt, und Empfohlene lässt sie weg, weil jedes Spiel dann seine Shader erneut kompilieren muss. Kreuzen Sie einen an, wenn Sie entschieden haben, dass sich dieser Preis lohnt. Steams Caches pro Spiel erscheinen auf dieselbe Weise, und der NVIDIA-Cache in ProgramData braucht Administratorrechte. Den Rest des Ordners, in dem sie liegen, behandelt was Sie in AppData löschen können.
Häufige Fragen
Ist es sicher, den DirectX Shader Cache zu löschen?
Ja. Windows baut ihn neu auf. Der Preis ist langsameres Laden oder etwas Ruckeln in Spielen beim nächsten Start.
Verbessert das Löschen des Shader-Caches die Leistung?
Meist nicht, kurzfristig wird sie schlechter. Es hilft, wenn ein beschädigter Cache Fehler verursacht oder wenn Sie den Speicherplatz brauchen.
Wo wird der DirectX Shader Cache gespeichert?
In %LOCALAPPDATA%\D3DSCache. NVIDIA, AMD, Intel und Steam führen eigene Caches in anderen Ordnern.
Warum kommt der Shader-Cache immer wieder?
Weil Spiele und Apps beim Laufen Shader erneut kompilieren. Dafür ist er da, es ist also kein Zeichen, dass die Bereinigung gescheitert ist.
Sollte ich den Shader-Cache nach einem Treiberupdate leeren?
Nur wenn nach dem Update etwas nicht stimmt. Treiber bauen meist selbst auf, was sie brauchen, und das Leeren ist ein vernünftiger Schritt, wenn Sie Fehler oder Abstürze sehen.