Wieso nutzen Spiele nicht den verfügbaren RAM aus?

smashbrot

Lt. Junior Grade
Registriert
Feb. 2008
Beiträge
404
Hallo liebe Leute,

erst mal vorweg: Ich war mir nicht sicher, ob ich das lieber unter Games oder unter Arbeitsspeicher posten soll. Da ich mich bei Games aber für ein Genre hätte entscheiden müssen, was irgendwie keinen Sinn ergibt, landet der Thread nun hier.

Um meine Frage im Titel zu präzisieren: wie kommt es, dass selbst moderne Spiele (ich nehme als Beispiel Fallout 4) niemals den maximal möglichen verfügbaren RAM ausnutzen?

Diese Frage geistert mir schon im Kopf rum, seitdem ich 16 GB RAM in meinem Rechner verbaut habe (seit 4 oder 5 Jahren) und bisher hab ich darauf keine sinnvolle Antwort gefunden. Und heutzutage ist diese Menge an Arbeitsspeicher ja nichts besonderes mehr.
Ich ärgere mich jedenfalls momentan wieder regelmäßig, wenn Fallout 4 von meinen 16 GB RAM nur maximal die Hälfte ausnutzt und ich immer wieder warten muss, bis bei einem Szenenwechsel alle benötigten Daten von meiner (vergleichsweise) langsamen HDD geladen wurden.

Warum geht bspw. Bethesda nicht her und programmiert das Spiel so, dass möglichst viele Assets (also Sounds, Texturen, Modelle, Maps,...) wie nur möglich in den RAM gepumpt werden, um die Ladezeiten beim Betreten eines Hauses oder beim Schnellreisen so weit zu reduzieren wie es geht?

Ich kann mir nicht vorstellen, dass es so ein großer Programmieraufwand wäre, beispielsweise immer die Assets vorzuladen, die für die derzeit aktiven Quests wahrscheinlicherweise als nächstes benötigt werden. Natürlich müsste man dabei immer die CPU-Last und die Datenraten des RAM im Auge behalten, damit beim Vorladen der Assets während des Spielens nicht die Performance des Spiels selbst beeinträchtigt wird. Aber auch das wäre doch einfach zu handlen, oder irre ich mich?

Vielleicht habt ihr da ja Theorien oder evtl. sogar Erfahrung aus der Programmier-Praxis, um mir das zu erklären. Oder gibt es Spiele, die das bereits machen und ich kenne sie bloß nicht?


MfG
Felix
 
smashbrot schrieb:
[…]ich immer wieder warten muss, bis bei einem Szenenwechsel alle benötigten Daten von meiner (vergleichsweise) langsamen HDD geladen wurden.

Dann pack das Spiel doch lieber auf eine SSD.
 
Und Bathesda kommt daher und fragt dich warum Du keine SSD benutzt *gg*
Letztendlich mußt Du nicht hier die Frage stellen! ;)
Allerdings ist die Fallout Engine doch glaube ich auch keine so wirklich moderne Engine und schon etwas älter.
Dazu kommt, daß es ja nicht nur dich gibt. Andere Spieler haben dafür vielleicht eine SSD :P und nur 8GB RAM, für die müßte das Spiel ja so programmiert sein, daß ihm 8GB reichen.
 
Trotzdem sollten (zumindest 64-bit-Spiele) automatisch erkennen wieviel Ram vorhanden ist und je nach Größe auf die SSD/Festplatte mehr oder weniger Daten auslagern. Einen Teil macht ja Windows sogar automatisch.
 
16GB RAM hat von den Spielern kaum jemand und daher wird die Systemkonfig auch nicht bedacht.
Engine ist "alt", und auf verschiedene Qualitätsstufen und den dazugehörigen Systemvoraussetzungen programmiert.
Die meisten Spieler werden 4-8GB RAM haben, und genau in dem Bereich muss das Spiel funktionieren.
Mit erheblichem Aufwand könnte die Engine natürlich überredet werden (schätz ich mal) im Voraus immer alles in drn RAM zu laden um bei Bedarf (Betreten eines Hauses usw) nicht wirklich auf HDD/SSD mehr zugreifen zu müssen.
Bei HDD würde der PC halt durchgehend rödeln ;)
Spiel also lieber auf eine flotte SSD installieren! :)
16GB RAM sind aber super! :)
HDD nicht! :(

Modder können die Engine vl dazu bringen, dynamisch mehr RAM zu belegen.
Aber immer nur das, damit der RAM zu 80% voll ist, ....puh, da müsste die engine ja immer hanzngenaunwissen was sie gerade laden kann/darf und was nicht.
Da müsste die Engine achon drauf ausgelegt sein.
So wie die Engines, die super skalieren, und vonnHigh End PC bis zum Taschenrechner laufen.
John Carmack bspweise könnte das ;)
Die anderen Entwickler haben Zeitdruck vom Publisher und das Spiel muss fertig werden bzw wenigstens halbwegs laufen.
Der Publisher selbst gibt nen feuchten Sch... auf die RAM Belegung, auf den am meisten verbreiteten Systemen muss das Spiel laufen - Ende. Was anderes interessiert die nicht.
Wenn man dann noch das volle Engine/Technik Team 1-2 Jahre drauf ansetzen würde, würde ea ganz anders aussehen meine ich.
Außer halt die Engine ist von haus aus nicht so konzipiert, daher, die ganze Engine vom Start aus umschreiben dauert dann halt mal ~ 5 Jahre ;)

MfG
 
Danke für eure Antworten. Das ging ja fix. :)

Also mit der SSD habt ihr natürlich recht. Ich würde das Spiel auch lieber auf SSD installieren, aber meine alte 64 GB reicht dafür leider nicht. Als Auszubildender muss ich bei meinen Geldausgaben jedoch Prioritäten setzen (und 8 GB mehr RAM für damals 30€ schienen mir sinnvoller. :D ).

Dass die Spiele mit weniger RAM auch laufen müssen, ist klar. Ich will ja nicht sagen, dass die Spiele für 16 GB ausgelegt sein sollten. Es geht mir eher darum, dass Assets, die EVENTUELL benötigt werden KÖNNTEN, schon mal vorzuladen, nur für den Fall. Wenn die falschen Assets vorgeladen wurden, macht das ja nix - dann wird eben von HDD/SSD geladen. Und wenn der RAM dafür nicht reicht, machts auch nix - dann wird eben immer von HDD/SSD geladen.

Aber wie schon gesagt, so stelle ich mir den Programmieraufwand für eine kleine Logik zum vorladen der Assets nicht zu koompliziert vor, um sie zumindest für die wenigen Leute, die so viel RAM haben, anzubieten. Auch wenn diese Logik nur ziemlich "dumm" programmiert sein sollte ("Lade immer nur die Assets, die für die derzeit aktive Quest als nächstes benötigt werden"), so wäre das doch immerhin in vielen Fällen ausreichend und ein erheblicher Gewinn. Der Grad dieser "Intelligenz" hat nach oben hin dann nur das Programmier-Budget als Limit.

Smartbomb schrieb:
Die anderen Entwickler haben Zeitdruck vom Publisher und das Spiel muss fertig werden bzw wenigstens halbwegs laufen.
Der Publisher selbst gibt nen feuchten Sch... auf die RAM Belegung, auf den am meisten verbreiteten Systemen muss das Spiel laufen - Ende. Was anderes interessiert die nicht.
MfG
Das ist, fürchte ich, der Hauptgrund dafür, dass so was nicht gemacht wird. Schade eigentlich. :/
 
smashbrot schrieb:
wie kommt es, dass selbst moderne Spiele (ich nehme als Beispiel Fallout 4) niemals den maximal möglichen verfügbaren RAM ausnutzen?
Wenn du nen Kasten Bier vor dir hast, warum trinkst du ihn nicht sofort aus? Andere Frage, gleiche Schlussfolgerung. Warum sollte man, wenn es nicht benötigt wird?
 
Fallout ist auch wirklich nicht das beste Beispiel. Guck dir mal The Witcher 3 oder GTA V an. Und selbst die machen den RAM nicht voll. Einfach weil es irgend wann kein Sinn mehr macht, Zeug in den RAM zu packen. Denn mit jedem unnötig belegten Speicherbereich brauchst du wieder Logik (und damit CPU- und Bus-Zeit) um den wieder zu löschen.
 
Zuletzt bearbeitet:
smashbrot schrieb:
Diese Frage geistert mir schon im Kopf rum, seitdem ich 16 GB RAM in meinem Rechner verbaut habe (seit 4 oder 5 Jahren) und bisher hab ich darauf keine sinnvolle Antwort gefunden.
Das kann man anders ausdrücken. Weil es keine sinnvolle Antwort gibt baut man in einen Spielerechner keine 16 GB ein und benutzt das gesparte Geld für etwas sinnvolleres. :D

https://www.computerbase.de/forum/t...g-pc-spiele-pc-selbst-zusammenstellen.215394/
Dort werden nur bei der größten und teuersten Konfiguration 16 GB eingesetzt. Und das vermutlich nur, weil das Budget es hergibt und nicht, weil es eine wirklich spürbare Verbesserung bringt.

Die Spielehersteller versuchen natürlich auch Rechner mit 4 oder weniger GB RAM zu erreichen. Und vermutlich versuchen sie das Spiel mit der RAM-Menge skalieren zu lassen, das wird aber nur in einem gewissen Rahmen sinnvoll umzusetzen sein.
 
Yuuri schrieb:
Wenn du nen Kasten Bier vor dir hast, warum trinkst du ihn nicht sofort aus? Andere Frage, gleiche Schlussfolgerung. Warum sollte man, wenn es nicht benötigt wird?
Nein, der Vergleich ergibt keinen Sinn.
Bei der RAM-Auslastung geht um die optimale Ausnutzung brachliegender Ressourcen und hätte keine Nachteile sondern nur Vorteile.

Nilson schrieb:
Fallout ist auch wirklich nicht das beste Beispiel. Guck dir mal The Witcher 3 oder GTA V an.
Ja, stimmt. Fallout ist technisch gesehen wohl nicht mehr State of the Art. Wenn ich damit durch bin, werde ich mir mal GTA V holen. Vielleicht hat sich da ja doch was getan. ;)

Nilson schrieb:
Und selbst die machen den RAM nicht voll. Einfach weil es irgend wann kein Sinn mehr macht, Zeug in den RAM zu packen. Denn mit jedem unnötig belegten Speicherbereich brauchst du wieder Logik (und damit CPU- und Bus-Zeit) um den wieder zu löschen.
Ok, das klingt logisch.

Wilhelm14 schrieb:
Das kann man anders ausdrücken. Weil es keine sinnvolle Antwort gibt baut man in einen Spielerechner keine 16 GB ein und benutzt das gesparte Geld für etwas sinnvolleres. :D
Ja, stimmt.
Würde ich den Rechner nur zum Spielen benutzen, wären die 16 GB wohl wirklich unnötig. Aber zum Glück kann zumindest Photoshop mit dem Platz umgehen (und braucht ihn auch je nach Projekt). ^^
 
Zuletzt bearbeitet:
Windows nutzt sonst unbelegtes RAM wie jedes moderne OS als Diskcache, die 16GB RAM ains also nicht ungenutzt, wenn erst einmal genug Daten von den Platten gelesen wurden. Man hat also nur zu viel RAM und unbenutzt bleit es i.d.R. auch nicht, selbst wenn die Programme es nicht beanspruchen.
 
zu dem thema 8gb und spiele rechner kann ich sagen, dass ich in meinem bekanntenkreis zwei fälle hatte, wo die kollegen bei cod bo3 mit 8gb ram probleme hatten.
erst eine aufstockung hat abhilfe geschafft.
also ist man meiner meinung nach nicht mehr weit davon entfernt, dass 8gb ram nicht mehr reichen.
 
Zurück
Oben