Mikroruckler in ALLEN SPIELEN trotz guter Hardware und hoher FPS Werte

Zu den
Makroruckler: Bild bleibt stehen (Standbild), auch Nachladeruckler genannt.
häufigste Ursachen: System überlastet, Laufwerk überbeschäftigt.
aus dem post von vASNator

Das ist ein altes Thema, hatte ich schon bei Win7. Bei XP weiß ich es nicht mehr...
Und immer, wenn ich nachgeschaut habe, dann war der Cache voll. Bei Win7 hat man das noch daran gesehen, daß im Taskmanager der freie Speicher nahe 0 war. MS hat dieses Problem dann dadurch "gelöst", daß Win10 den freien Speicher nicht mehr anzeigt... dafür aber "verfügbaren" (enthält den Cache) Speicher und Cache. Sind beide gleich groß, dann ist der RAM voll. Jetzt treffen sich einige dumme - zum einen gibt die wenigste Software noch Speicher, den sie eigentlich nicht mehr benötigt, explizit frei, auch nicht, wenn sie geschlossen wird - deshalb wird der RAM mit der Zeit immer mehr zugemüllt. Zum anderen ist MS nicht in der Lage, einen Puffer bereitzuhalten, der es ermöglichen würde, neue Speicheranfragen sofort zu bearbeiten und mit geringer Last dann Cache auszulagern. Und jetzt passiert vollgendes: Win sagt "5GB sind verfügnar", daß diese 5 GB aber momentan belegt sind und erst in die Auslagerungsdatei geschrieben werden müssen, das sagt es nicht. Also wird die Anfrage so lang angehalten, bis der Speicher freigeschaufelt ist und das sind die einzelnen Ruckler, die man dann in mehr oder weniger regelmäßigen Abständen bemerkt.
Sobald man den Cache leert, gibt es kein Problem mehr. Das geht entweder mit einem vbs-script, mit dem Befehl "freemem=space(###)" - der belegt Speicher, der dann entsprechend freigegeben werden muß und gibt ihn dann selbst wieder frei - wobei ### die freizugebende Menge in Byte angibt. Wieviel da möglich ist, hängt von etlichen Faktoren ab, die mir nicht alle bekannt sind, aber die Größe des RAM ist mit dabei. Allerdings habe ich bei verschiedenen Rechnern mit gleichem RAM verschiedene Maximalbeträge festgestellt und diese sind i.d.R. viel kleiner, als der eigentlich belegte Cache. Da kann man die Zeile mit der ermittelten Maximalzahl (mal mit 512000000 anfangen und dann bis zur Fehlermeldung herantasten) einfach mehrmals in das Script schreiben (5 Mal oder so) und dann auch noch zwei oder drei Mal innerhalb einer halben Sekunde starten (Quickstartleiste und dann Doppelklick), das läßt sich dann so optimieren, daß der Cache in 2 bis 5 Sekunden komplett geputzt ist. Bei manchen Programmen kann das Probleme verursachen (wahrscheinlich wieder schlechtes Speichermanagement) aber nach meiner Erfahrung verkraften das Spiele i.d.R. sehr gut, ein guter Zeitpunkt ist z.B. ein neues Level o.ä., wo dann einfach mal die alten Texturen usw. in die Auslagerungsdatei verschoben werden.

Möglichkeit 2 ist RamMap aus den Sysinternals, dort Empty und Standby List auswählen - das schmeißt dann einfach augenblicklich alles im Cache weg... manches Programm - z.B. Browser mit vielen offenen Tabs - verkraftet das nicht fehlerfrei, deshalb soltle alles außer dem Spiel geschlossen werden, das macht da n.m.E. keine Probleme. Oft reicht es auch, es einmal vor dem Start des Spiels zu machen.

Mehr RAM kann nach meiner Erfahrung das Problem nur lindern - es tritt einfach später auf, weil es länger dauert, bis er voll ist - aber nicht ganz beseitigen. Bei meinen 32GB hab ich momentan 19,3GB "verfügbar" und 19,6GB im Cache (k.A. wie das geht) und bei manchen Spielen, z.B. XCom 2 (alles, was große Mengen Texturen lädt und die dann auch oft wechselt, z.B. wegen anderen Szenarien/Leveln, müllt den RAM zu und ist empfindlich), würde ich so trotzdem Probleme haben. Allerdings war es mit 28GB (das NB wollte aus irgendeinem Grund keine 4 8GB-Riegel nutzen) schon etwas schlechter. Unter 12GB sollten sowieso nicht in einem 64bit-Spiele-Rechner stecken, eher 16 oder mehr...

Ich hab jedenfalls mit einem PC der gehobenen Mittelklasse bzw. einem entsprechenden Notebook keine Probleme mehr bei fast immer vollsten Details und hohem Post Processing...
 
Zuletzt bearbeitet:
Zurück
Oben