Ladezeiten verbessern

Kingkarlos

Cadet 2nd Year
Registriert
Dez. 2012
Beiträge
20
Hallo,
ich spiele zur Zeit "Path of Exile" und das Spiel hat leider eine Rangliste in der Ladezeiten mit zur finalen Zeit gezählt werden.
Momentan sind meine Ladezeiten im Vergleich zu anderen Spielern schon relativ niedrig aber die Person die momentan jeden Tag gewinnt lädt immernoch ungefähr doppelt so schnell wie ich.
Ich habe gestern mal ein paar Tests durchgeführt mit verschiedenen Setups und habe immer in 10 Zonen geladen mit gleichem Aussehen.
Mit meiner Samsung 840 SSD die ich bei Crystaldiskmark mit 500mb/s gemessen habe hatte ich dabei ~58sekunden Ladezeit.
Dann habe ich diverse RamDisk Programme ausprobiert und "PrimoRamdisk" war bei mir das schnellst gemessene (9000 mb/s).
Wenn ich eine RamDisk erstelle und das gesamte Spiel darauf lade gingen die Ladezeiten auf ~38Sekunden runter.
Ich besitze zur Zeit einen Ryzen 5 1600 (@3.8ghz) mit 32gb 3000mhz cl16 ram. (leider nur auf 2666 getaktet da ryzen 1 :/ )
Ich habe dann probiert die Timings niedriger zu takten und im Gegenzug auch mal den Ram clock ein wenig höher zu takten aber die Ladezeiten haben sich im Grunde genommen nicht verändert.
Mit diesem Setup sind meine Ladezeiten immer noch doppelt so langsam als sie seien dürften.

Ich würde nun gerne raus finden wo überhaupt das Bottleneck ist.
Die Spieldateien sind leider in einem großen Archiv gespeichert, wie .zip oder .rar nehme ich an. Somit habe ich mich gefragt ob meine CPU eventuell 100% Auslastung hat währen Ladezeiten da die benötigten Dateien extrahiert werden müssen. Im Task Manager und Ressourcenmonitor steigt die CPU Auslastung aber nie mehr als um 15-20%. Es sieht außerdem auch ein wenig so aus als würde das Spiel nicht auf alles Cores laden.
In dem Archiv sind zudem ungefähr 200.000 Dateien aber die Gesamtgröße ist nur ungefähr 20gb. Ich weiß aber nicht in wie fern das eine Rolle spielt.
Noch habe ich beobachtet das die Ladezeiten wesentlich schneller werden wenn ich schnell zwischen zwei Zonen wechsel. Ich nehme mal an das dann keine neuen Cache Dateien angelegt werden müssen sondern einfach die bereits vorhandenen ausgelesen werden können.
Kann man die Größe und Dauer solcher Cache Dateien irgendwie verändern? Wo sind diese normalerweise festgelegt? Macht das System das oder stehen die irgendwo in der .exe oder in den Spieldaten?
Ich habe leider nicht viel mit solchen IT Sachen zu tun, meist spiele ich nur aber ich habe trotzdem ein paar fragen / Vermutungen:
Kann es sein das mein Arbeitsspeicher nicht genug i/o hat um Dateien aus dem Archiv von der CPU auslesen zu lassen und dann wieder im Cache zu speichern? Wird es wohl besser sein eine sehr schnelle Festplatte zu nutzen um von einer Platte in den Ram zu schreiben? Ich habe gelesen dass man Archive auch nicht von einem auf das selbe Laufwerk extrahieren soll.
Ich werde dazu noch mehr testen aber kann man irgendwo festlegen mit wie vielen Kernen das Spiel laden soll? Wo wird sowas normalerweise festgelegt?
Kennt ihr gute Programme womit man solche Auslastungen einsehen/ aufzeichnen kann? Ich habe versucht mir verschiedene Dinge in der Leistungsüberwachung anzugucken aber so richtig weiß ich nicht wonach ich gucken soll.

Jegliche Idee / hilfe gerne reinschreiben ich werde alles mal testen. :)
 
Hast du das Spiel auf einer hdd Festplatte installiert?
 
Kingkarlos schrieb:
Ich besitze zur Zeit einen Ryzen 5 1600
der wird wohl das problem sein! :)
spieledaten werden oft "on demand" entpackt. das können aktuellere cpus einfach schneller.
 
@yaegi hmm aber in wie fern spielt denn der Prozessor eine rolle bei diesen Ladevorgängen und bei was trifft er dann sein Limit sodass die Ladezeiten nicht schneller werden. Bei der allgemeinen Auslastung ja anscheinend nicht.
Edit: oh grad die zweite Zeile gelesen :) Worauf kommt es denn bei diesem "on demand" entpacken an?
Ergänzung ()

Ich habe gerade mal gegoogelt und anscheinend benutzt das spiel 4 threads fürs Laden und maximal 12 threads Ingame. Ich nehme mal an man kann nicht so einfach festlegen dass es auch 12 threads fürs laden benutzen soll?
 
Zuletzt bearbeitet:
Nein, nur eine CPU die schneller entpacken kann bringt etwas - der 1600er ist da kein Überflieger.
 
Hi
also es wäre mal sehr gut wenn du dein Komplettes Setup aufschreiben könntest, hast du einen Freund der auch das spiel spielt und gegen testen könnte?
wenn du mit einer Ram Disk schon nicht viel weiter kommst lässt das schon ehr Richtung CPU deuten oder Lan/MB. Aber bei Online Games kann es oft auch an deinen Standort ankommen, wenn wer eine schnellere Verbindung zum Server hat hast du nie eine changse.
Eigentlich sollte so etwas wie ladezeiten kein Gameplay Entscheidung sein ...

lg
 
Kingkarlos schrieb:
.......
Mit meiner Samsung 840 SSD die ich bei Crystaldiskmark mit 500mb/s gemessen habe hatte ich dabei ~58sekunden Ladezeit.
Dann habe ich diverse RamDisk Programme ausprobiert und "PrimoRamdisk" war bei mir das schnellst gemessene (9000 mb/s).
Wenn ich eine RamDisk erstelle und das gesamte Spiel darauf lade gingen die Ladezeiten auf ~38Sekunden runter.
Ich besitze zur Zeit einen Ryzen 5 1600 (@3.8ghz) mit 32gb 3000mhz cl16 ram. (leider nur auf 2666 getaktet da ryzen 1 :/ )
.......
Wo liegt dann das Problem, wenn der erste Lösungsansatz mit erfolgreicheren 38Sek. ausprobiert wurde? Ist eine RAM Disk mit dem Speicherplatz zu teuer, kann man es mit einer NVMe SSD versuchen.
Der nächste udn sinnvolle Weg wäre die CPU auszutauschen, weil die neuen AMD ZEN verbesserte Leistung bieten.
 
@Mente Einen Kumpel zum gegentesten habe ich leider nicht. Das mit dem Standort des Servers habe ich auch schon in betracht gezogen. Der "Haupt" Server steht wohl in Texas. Ich Spiele zur Zeit auf dem Washington DC realm. Ob es doll die Ladezeiten beeinflusst kann ich nicht wirklich beurteilen aber sobalt man auf eine neue "zone" klickt erscheint dort ein text mit "entering ..." und dieser ist wesentlich schneller auf Amerikanischen Servern.
Ich habe mal Probiert das ganze mal mit "Prozess Monitor" anzugucken und so wies aussieht endet jegliche Server-seitige Kommunikation bevor er aufhört das Archiv zu lesen.
Mein komplettes aktuelles Setup kann ich mal in diese Info unten schreiben ja.

@Der Nachbar Da habe ich vielleicht für Verwirrung gesorgt in meinem Text aber meine Ladezeiten sind aktuell MIT RamDisk ungefähr noch 1.5-2mal langsamer als die des ersten auf der Bestenliste.
Ich werde mir wohl die Tage mal einen Ryzen 5 3600 zulegen, das war so oder so der Plan. Ich habe mir ein B450 Mainboard gekauft aber der 2600 war mir den aufpreis zum 1600 nicht wert, da wollte ich auf den 3600 warten.
 
Keine Sorge um die mögliche Verwirrung, es ging mir im Kontext nur um die Erkenntniserklärung von sichtbaren Verbesserungen, wenn sie sichtbar sind.
Will man als Nutzer natürlich zur besagten Bestenliste aufschließen, dann kommt man leider nicht um die nötige Aufrüstung in der entsprechenden Leistungsklasse, sei es die vom besagten Freund.

Mit dem 3600 wird es sicher einen Verarbeitungsschub geben. Gibt man dem noch etwas an manuellen Taktsporen, kann man sich höchstens über mangelnde Kerne beklagen.

Wenn es sich aber auch um serverbedingte Daten und Kommunikation handelt, kann die Internetanbindung natürlich ein möglicher Flaschenhals sein und da hilft nicht mal der schnellste Pentium 4. ;)
 
Ja wenn es ein serverbedingtes Problem wäre, wäre das natürlich sehr traurig. Wenn es so wäre, müsste es dann aber nicht noch mindestens so viel schneller gehen mit den Ladezeiten wie wenn ich schnell zwischen Zonen wechsel also mit "gechache'ten" Daten?
Windows hat wohl keine Einstellung wo man festlegen kann wie lange was im Ram gecached wird?
Das spiel scheint immer nur so 2-3 Zonen zu "cachen". Also wenn ich zwischen diesen Zonen hin und her lade sind die Ladebildschirme wesentlich schneller als sonst.
 
Windows hält alles solange im RAM, bis das RAM voll ist und für was anderes gebraucht wird.
Und dann fliegt das zuerst raus, was am längsten nicht gebraucht wurde im Cache.

D.h. wenn Du vor dem Spiel einmal von Steam die Dateien überprüfen lassen würdest, dann wären die alle schon im Cache. Ganz ohne das Gehampel mit der Ramdisk.
Eventuell bringt es Punkte wenn Du die Dateien alle schon vorsorglich entpackst. Allerdings muss das Game damit umgehen können. Wenn das Game anfängt die Archive zu entpacken, obwohl die Dateien schon entpackt griffbereit sind ... dann soll das eventuell die Cheater davon abhalten in den Game-Dateien zu schnüffeln oder so^^.


Aber am Ende ist es immer ein CPU-Limit. Wenn Du Dir mal mit HWInfo anzeigen lässt was so während des Games geladen wird ... das ist meistens ziemlich lächerlich. Die Daten werden halt nicht einfach nur im RAM rumgeschubst, sondern sie müssen auch verarbeitet werden (wozu auch das Entpacken gehört). Und da rennst Du halt in der Regel ins CPU-Limit.
Mussten schon alle die sich für Games eine NVME zugelegt haben schmerzlich feststellen.

Wärst Du mal so freundlich und würdest Du mir die Rangliste linken? Oder ist die nur Spielintern zu sehen.
 
Zuletzt bearbeitet:
Hmm okay wenn das so wäre und ich immer wieder die gleichen 10 Zonen laufe dann müssten die ja alle gecached sein und immer gleich schnell laden. Wenn ich schnell zwischen 2 hin und her wechsel ist es aber wesentlich schneller. Aber wer weiß eventuell hat das dann wieder was mit der Grafikkarte usw zu tun.
Alles entpacken habe ich auch schonmal überlegt aber dann müsste ich dem Spiel ja irgendwie dieses Archiv vorgaukeln. Ich kann mal probieren alles aus dem Archiv zu extrahieren und einfach in einen Ordner zu packen und diesen dann wie das Archiv mit Endung zu nennen. Ob das funktioniert bezweifle ich aber.
Eine Idee wie ich sowas anstellen könnte?

Edit: Ah okay grade das mit dem CPU limit gelesen. Macht sin, verwirrt nur weil keiner der CPU last anzeigen wirklich höher als 30% geht beim laden. Dann wäre es natürlich wahrscheinlich gut wenn man das game auf mehr als 4 threads laden lassen könnte nehme ich an.
Ergänzung ()

@HisN https://www.pathofexile.com/ladder/labyrinth/Harvest/4/1593043200
Wie man sehen kann handelt es sich nur um ~2min "rennen" mit im schnitt 10 Ladebildschirmen. Wenn ich aber 1-1.5 sekunden pro Ladebildschirm verliere stehen meine Chancen natürlich schlecht :)
Wie man sieht gewinnt der erste den Spaß schon sehr lange jeden Tag. Er hat aber auch "Nur" einen Ryzen 5 3600 und 3200er Ram.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: HisN
Kingkarlos schrieb:
Bei der allgemeinen Auslastung ja anscheinend nicht.
Vergiss nicht das der Task Manager bei der CPU nur 100% anzeigt, wenn alle Kerne (also alle 12 bei einem 1600 mit aktivem SMT) voll ausgelastet sind. Ladevorgänge laufen aber meist Singlethreaded ab, da kann volle Last auf einem Kern nur 8% Anzeige im Task Manager machen, plus dem Hintergrundrauschen von anderen Dienst von Window dann vielleicht 10%, aber trotzdem limitiert die Singlethread Performance der CPU.
 
Zurück
Oben