Diagnosematrix: Speicherlecks, Windows-Standby-Cache und FPS-Verlust
Viele PC-Gamer kennen das Phänomen: Ein Spiel startet mit flüssigen 120 FPS, sackt jedoch nach zwei bis drei Stunden Dauerbetrieb auf 35 FPS ab und beginnt bei jedem Kameraschwenk massiv zu stocken. Entscheidend für die Fehlerbehebung ist die Unterscheidung zwischen einem echten C++-Speicherleck der Engine und dem volllaufenden Standby-Speicher von Windows.
| Fehlerursache | Hauptspeicherbereich | Verhalten im Task-Manager | Auswirkung auf Standby-RAM | Verifizierte Lösung |
|---|---|---|---|---|
| Unfreigegebene Engine-Objekte (C++ Leak) | Privater Arbeitsspeicher des Spiels | Steigt kontinuierlich und unaufhaltsam an (6 GB -> 14 GB -> 24 GB) | Gering | Entwicklerfehler; Spiel regelmäßig neu starten und Patch abwarten |
| VRAM-Überlauf mit RAM-Swapping | Dedizierter Grafikspeicher | VRAM zu 100 % voll; Texturen werden in Shared RAM ausgelagert | PCIe-Bus saturiert komplett | Texturauflösung reduzieren; DLSS/FSR aktivieren |
| Windows Standby-Speicher-Blockade | Betriebssystem-Dateicache | Spiel-RAM bleibt stabil, aber "Freier" RAM fällt unter 200 MB | Windows leert den Cache bei RAM-Anfragen zu langsam | Intelligent Standby List Cleaner (ISLC) einrichten |
| Nicht-auslagerbarer Pool wächst | Windows-Kerneltreiber | "Nicht ausgelagerter Pool" wächst auf mehrere Gigabyte an | Kernelressourcen erschöpfen sich | Netzwerk- und Audio-Treiber aktualisieren (z. B. Killer LAN) |
Warum der Windows-Standby-Speicher zu Rucklern führt
Windows nutzt ungenutzten RAM als Standby-Cache, um zuvor geöffnete Dateien vorzuhalten:
- Nach längerer Spielzeit ist fast der gesamte freie Speicher mit Standby-Daten belegt.
- Fordert das Spiel plötzlich mehrere Gigabyte für ein neues Areal an, muss Windows diesen Cache freigeben.
- Unter hoher Systemlast verzögert sich diese Freigabe oft um hunderte Millisekunden. Der Render-Thread des Spiels pausiert, was zu massiven Frametime-Spikes führt.
Schritt-für-Schritt-Optimierungsplan
Schritt 1: Intelligent Standby List Cleaner (ISLC) nutzen
- Lade den Intelligent Standby List Cleaner (ISLC) von Wagnardsoft herunter.
- Trage folgende Grenzwerte ein:
- The list size is at least:
1024 MB. - Free memory is lower than: Die Hälfte deines Gesamtspeichers (
8192 MBbei 16 GB,16384 MBbei 32 GB RAM).
- The list size is at least:
- Aktiviere Start ISLC minimized and auto-Start monitoring.
- Aktiviere Enable custom timer resolution und stelle den Wert auf
0.50 ms. - Klicke auf Start. Der Standby-Speicher wird nun automatisch geleert, sobald der freie RAM knapp wird.
Schritt 2: Echte Lecks mit dem Ressourcenmonitor identifizieren
- Drücke
Win + R, tipperesmonein und öffne den Ressourcenmonitor. - Überwache im Reiter Arbeitsspeicher die Spalte Zugesichert (KB) des Spiels. Steigt dieser Wert unaufhörlich an, liegt ein Engine-Bug vor.