Leserartikel VRAM-Usage aktueller Titel

Wenn du das reproduzieren kannst, magst du einen Crashdump zur Verfügung stellen?
Und schalte mal bitte die Hardwarebeschleunigung in den Einstellungen ab und schau, ob der Crash dann nach wie vor reproduzierbar ist.
 
Zuletzt bearbeitet von einem Moderator:
Von einem abgestürztem Tab gibt es meines Wissens nach keinen Crashdump. Und die Ursache ist für mich klar: Der VRAM ist massiv überbelegt...
Es gibt für mich auch keinen Grund deshalb auf die HW-Beschleunigung zu verzichten - der Firefox wird vor dem Start einer anderen VRAM intensiven Anwendung halt geschlossen...
 
Zumal bei einem Iris-System VRAM = RAM ist, der VRAM liegt ja komplett im RAM. Der Treiber wird das lediglich anders adressieren, wenn er es braucht. Man kann kein UMA-System mit ner Grafik mit dedizierten VRAM vergleichen, das ist bescheuert.
 
Hallo zusammen,

habe mal ein Frage bezüglich VRAM Belegung. Ist der Wert der mir im MSI AB angezeigt wird die tatsächliche Belegung oder wird da auch in einigen fällen mehr VRAM Belegung angezeigt als tatsächlich genutzt werden? Habe mal gelesen das sich einige Spiele den VRAM auch "reservieren" aber wenn nicht benötigt, diesen gar nicht voll nutzen. Bspw. wird ein Auslastung von 8 GB angezeigt, genutzt werden aber nur 6 GB. Die restlichen 2 GB sind reserviert.
 
Das ist die tatsächliche Belegung inkl. Reservierung.
Und "nötig" ist Definitionsfrage. Ich finde es "nötig" wenn man z.b. in einem Open-World-Game ständig an der gleichen Stelle vorbeirennt. Warum sollen die Texturen immer wieder neu geladen werden von der SSD/HDD wenn im VRAM genug Platz vorhanden ist, um sie "vorzuhalten".
Jeder Textur Lade/Streamingvorgang von HDD/SSD ist ein potentieller Ruckler.
 
  • Gefällt mir
Reaktionen: Kylo Zwähn
Ah OK, vielen Dank für die Erklärung. :daumen:
 
  • Gefällt mir
Reaktionen: HisN
HisN schrieb:
Jeder Textur Lade/Streamingvorgang von HDD/SSD ist ein potentieller Ruckler.

Du denkst zu linear.

Das Streaming von HDD/SSD passiert lange bevor die Daten aktiv benötigt werden asynchron zum Rendering. Die Frametimes des Renderings sind nicht von diesen Daten abhängig (nur wenn sie viel zu spät kommen), da sie in dem Moment in dem sie vorausgeladen werden, noch gar nicht benötigt werden. Zumal so eine Abhängigkeit z.B. bei den lahmen Konsolen HDDs zu unspielbaren spielen führen würde.

Je langsamer der Massenspeicher, desto mehr muss man vorausladen, klar. Typisches Caching Verhalten eben.
Die exzessive VRAM Nutzung von Spielen am PC ist daher einfach nur ein Überbleibsel des last-gen Konsolencodes, der für HDDs optimiert ist.

Ein schnellerer Massenspeicher ermöglicht auch ein strafferes caching mit kleinerem Pool. Daher bringt das ganze vorhalten von Daten im VRAM in rauen Mengen bei modernen Systemen mit SSD auch nichts.

Der Beweis sind die neuen Konsolen. Da wurde sogar in den PKs erklärt, dass man dank der SSDs weniger Daten im VRAM/RAM vorhalten muss und dass man den Speicher stattdessen mehr mit aktiv genutzten Daten ausnutzt (= aufwändigere Assets).


Ich finds irgendwie witzig, wie alter Konsolen Code, optimiert für die Bedingungen mit den lahmen Notebook HDDs die in den alten konsolen verbaut sind, dazu führt, dass sich PC Enthusiasten noch mehr RAM und VRAM kaufen, nur um ein Bottleneck auszugleichen, das in ihren Systemen schon lange nicht mehr existiert.
 
@B3nutzer Ähm ja @HisN denkt falsch und du richtig ... und wir sind alle zu doof und kennen nicht die Games wo eine SSD auf einmal starken Einfluss hat in die Spielbarkeit gewisser Games.

Nur um etwas zu nennen.

Diablo 3 ruckelt mit einer HDD viel eher als mit einer SSD ... Rakkisübergang war da extrem.

Da war nix mit ewig vorhalten von Daten ... da ging es einfach um die performance in extrem schnell sich verändernden Situationen..
 
Naja, wenn man nun in Richtung DirectStorage / RTX IO schaut, was irgendwann dieses Jahr kommt. Und spätestens mit der UE5 wird das auch von den Spielen massiv genutzt werden. Sweeney und andere Epic Entwickler sagten bereits, dass das DER Gamechanger der nextgen Konsolen ist.
 
@xxMuahdibxx
Nur weil HisN hier ewig angemeldet ist und viele Beiträge schreibt, heißt das noch lange nicht, dass er alles weiß. Ich denke, das sieht er genauso. :rolleyes:

Und ja, ich kann auch daneben liegen. Aber ich versuche meine Texte und Meinungen logisch zu begründen.

Ich finds extrem schade, dass gerade in Technikforen Meinungen so dermaßen festgefahren sind und scheinbar keiner bereit ist, die Sache mal aus einem anderen, vielleicht sogar plausibleren Winkel zu betrachten. Das hat dann irgendwie nix mehr mit Technik und Wissenschaft zu tun, sondern erinnert mehr an Religion.


Schade, dass hier wohl kein Engine Entwickler im Forum ist, der bei solchen Themen mal aufräumen könnte.
So wird uns die Zeit zeigen, wo hin sich die Sache entwickelt.


Aber irgendwie hatte ich schon von Anfang an das Gefühl, dass der Thread hier nur VRAM Kreiswichsen ist. Einmal den Finger gehoben kommt ne Meute, die ihn dir am liebsten abreißen würde. Gegenmeinungen unerwünscht. Na dann wenn das euer Ziel ist...
 
Zuletzt bearbeitet von einem Moderator:
B3nutzer schrieb:
@xxMuahdibxx
Und ja, ich kann auch daneben liegen. Aber ich versuche meine Texte und Meinungen logisch zu begründen.

Die eigene Logik kann mal derb daneben liegen ...

Denn Logik ist ohne Fakten sondern nur mit Theorien halt auch nicht viel ...

Für mich sind Spielerlebnisse schon Fakten die man merkt ... und Diablo 3 ist nicht das einzigste Beispiel was die Logik wiederlegt ... Assassin Creed Odyssey war auch so ein Fall.

Und Sorry aber @HisN mag nicht der Foren Gott sein aber er zeigt oft genug das er sich mit dem Speicherverbrauch von Grafikkarten auskennt und gewisse Regler bedienen kann ...

auch Gegenbeispiele von extremer Speichernutzung gibt es .kkrieger z.b. macht aus 96kbyte auf der Anzeige gleich viel mehr.


Auch wiedersprichst du dir selber ... bei den neuen Konsolen ist dank schneller SSD weniger Speichervorhaltung nötig ... das heist im Umkerschluss nicht das die Daten für die nächsten 50 Sekunden vorgehalten werden ... und auch die richtigen Daten dabei vorgehalten werden ... gerade bei Open World Games schwer möglich ... da sieht man dann Texturen nachpoppen u.s.w.

Bei Linearen Games ist das eher kein Thema ... Level Laden alle Texturen parat u.s.w. ...

Genauso ist das mit den "einfachen" Konsolenports auch nicht sooo einfach ... höhere Texturauflösung ... höhere Bildschirmauflösung ... andere Effektberechnungen u.s.w. fallen auch unter erhöhten Speicherverbrauch. Kantenglättung jeglicher Art ist da noch nicht mal mit aufgeführt. LOD... und sicher noch viel mehr was Speicher belegen kann.

Gab auch genügend Tests die aufzeigten das die min FPS stark droppen wenn die Spiele an die VRAM Grenze kommen wegen dem Nachladen von Daten ... und ja diese Ruckler kommen woher ?
Aus dem perfekten vorrausladen von Daten die niemand weis ob sie gebraucht werden ?
https://www.computerbase.de/2016-09...black-ops-iii-texturen-extra-geforce-gtx-1060

Deswegen die Frage warum man einfach mal so denkt es wäre richtig was man so erzählt wenn die Erfahrung von Spielern was anderes aufzeigen.

Meine Erfahrungen sind vielleicht nicht die neusten aber ...

Fallout 3+New Vegas+4 ( nachploppende Texturen ... extremes Ruckeln wenn mal CPU Power nicht ausreicht in der Innenstadt)

Diablo 3 .... viel smothere FPS mit einer SSD auch bei mehreren Gegnern...
https://www.pcgameshardware.de/Diab...lo-3-Test-Benchmarks-1043386/galerie/2028853/

Diese starken Drops dürfte es ja mit genügend Vorrausladen gar nicht geben ... laut deiner Theorie.

Und am Ende pauschal einfach dieses oder jenes zu behaupten ... naja ... es kommt auf die Engine drauf an ... auf das was die Hardware kann GPU + CPU + RAM + Drive und welche Regler man wie bedient hat.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: xXDarthGollumXx
Die Frage ist doch folgende: Warum brauche ich überhaupt eine Methode um Daten schnell während der Laufzeit von der SSD ins RAM/Vram zu schieben? In einer idealen Welt ist das VRAM und das RAM groß genug um alle Daten vorzuhalten. Ein Loadscreen zum Gamestart und dann Ruhe im Karton.
Nur wenn das nicht der Fall ist muss man Daten jonglieren. Also ist DirectIO nicht der Heilige Grahl, sondern einfach nur eine weitere Krücke um fehlendes RAM/VRAM zu kompensieren. Ich würde mir wünschen das die vorhandenen Ressourcen genutzt werden anstatt Krücken zu verwenden.

Ja, ich kann verstehen wenn der User kein Geld locker machen möchte, aber das dann alle darunter leiden ist blöd :-)

Ich bin leider auch kein Programmierer, ich beobachte nur gerne, und man sieht nur wieviel Ressourcen genutzt werden, wenn man genug davon hat. Oder nicht?
 
  • Gefällt mir
Reaktionen: xxMuahdibxx und Pilstrinker
@HisN

Daten im RAM/VRAM sind weitestgehend unkomprimiert. Um da die Daten eines ganzen open World Spiels unterzubringen bräuchte man vermutlich Speicher im Terabytebereich.

Kopierst die Daten stattdessen z.B. auf eine RAM Disk, dann schaffst du dir wieder das gleiche Bottleneck wie wir es jetzt haben. Ja, der RAM ist dann schneller als die SSD, trotzdem limitiert spätestens dann die CPU, weil sie mit dem dekomprimieren nicht mehr hinterher kommt. Man ist also weiterhin auf eine Streaming Engine angewiesen, die die Daten vorab cached und entpackt und zur eigentlichen Verwendung vorbereitet. Also bevor sie gebraucht werden.


Und solange Spiele ihr Caching system auf elendig langsame HDDs auslegen, bringts dir halt herzlich wenig so viele Daten vorzuhalten.

Ich meine jeder von euch kennt doch das Youtube buffering. Da siehst du in der Zeitleiste deine Abspielposition und dahinter, wie viel vom Video schon vorgepuffert wurde.

Der Puffer ist genau wie das vorausladen beim VRAM dazu da, um schwankungen bei der Verbindungsgeschwindigkeit auszugleichen.

Das Nachladen von Daten aus dem Internet ist grundlegend vergleichbar mit dem nachladen von Spieledaten von einer HDD. Man überträgt Daten von einem langsamen Medium mit schwankender Datenrate auf ein schnelles Medium. Das ist ein grundlegendes IT problem, welches man mit Buffering/Caching/vorausladen angeht.

So, Youtube hat jetzt geschätzt nen Puffer von, keine Ahnung 30 sec? Es werden also 30 sec an Videodaten vorausgeladen. Heißt, die verbindung kann zwischenzeitlich sehr langsam sein oder komplett ausfallen. Man kann 30 sec lang das video trotzdem laufen lassen und das Problem überbrücken, bis zwischenzeitlich wieder Daten reinkommen, bevor der Buffer aufgebraucht ist. Der User der das Video sieht, merkt davon nichts. Der Buffer macht seine Arbeit und federt schwankungen ab.

Und jetzt eben der Knackpunkt. Hast du eine sehr schnelle und stabile anbindung, dann wirst du niemals auf diesen Puffer angewiesen sein. Das einzige was passiert ist, dass der Puffer RAM verbraucht und dass er stets komplett gefüllt ist.

Ein Buffer, der jedoch immer komplett gefüllt ist, der puffert keine Schwankungen der Datenrate ab, und hat somit keinen Nutzen. Die vorgehaltenen 30 sec Video sind somit praktisch sinnloser RAM verbrauch. Es würde locker reichen, nur noch 1-2 sec zu puffern und damit den RAM verbrauch zu reduzieren.

Genauso ist es eben bei Spielen. Je schneller die SSD Daten nachliefern kann, desto sinnloser wird es, viele Daten im RAM/VRAM vorauszuladen.
Das ärgerliche ist eben, dass das Spiel bzw. die Streaming Engine auf einem System mit HDD oder SSD nach der gleichen Streaming logik funktioniert. Solange die Logik auf HDDs ausgelegt ist, genauso wie Youtube auf langsame verbindungen, bringt dir weder die schnelle SSD, noch der riesige VRAM viele Vorteile.

Natürlich braucht man am PC wegen der höheren Settings mehr VRAM und vielleicht wäre ne HDD zu langsam, um maximale Texturen rechtzeitig ranzuschaffen, von der Ladezeit um ins Spiel zu kommen ganz zu schweigen.

Trotzdem bin ich der überzeugung, dass das exzessive vollschaufeln des VRAM von Spielen nur gemacht wird, weil der Code noch für HDDs gemacht wird. Man Buffert sehr viele Daten im VRAM vor, aus angst, dass die HDD mal zu langsam sein könnte, siehe youtube Beispiel.

Das wäre eigentlich unnötig und wird künftig sicherlich auch nicht mehr gemacht. Der Cyberpunk 2077 Schalter für den HDD Modus funktioniert ja genauso.
Im HDD Modus steigen RAM/VRAM nutzung an. Deaktiviert man ihn, sinkt die RAM/VRAM nutzung, weil das vorausladen der Daten auf einer SSD auf ein Minimum begrenzt werden kann. Ein riesiger Daten Puffer der die langsamen Datenraten einer HDD ausgleichen würde, ist dann eben unnötig, weil keine HDD sondern eine SSD genutzt wird.
 
Zuletzt bearbeitet von einem Moderator:
  • Gefällt mir
Reaktionen: foo_1337
Die schnellste Möglichkeit, mit den Daten zu arbeiten, ist nunmal , sie im (V)Ram zu halten.

Alles andere kann man dagegen vergessen.
 
B3nutzer schrieb:
Genauso ist es eben bei Spielen. Je schneller die SSD Daten nachliefern kann, desto sinnloser wird es, viele Daten im RAM/VRAM vorauszuladen.
So Einfach ist das ganze Thema nicht:
  • RAM und VRAM sind komplett unterschiedliche Themen
  • Datendurchsatz und Latenz sind immer zu betrachten
Einige Anmerkungen von mir, zum Teil vereinfacht und kein Anspruch auf wissenschaftlich exakte Aussagen, die Idee dahinter sollte jedoch klar werden:
  • Als Beispiel die Latenzen für Zugriffe einer CPU:
    • Alles was in Registern steht ist ohne Straflatenz verfügbar
    • Bei den Ryzen 3xxx ist der L1 Cache mit ~1ns Latenz verfügbar. Bei 4 GHz Takt sind dann erst einmal vier Taktzyklen Wartezeit um im 5. Taktzyklus auf die Daten zugreifen zu können
    • Der RAM ist ohne OC bei ~70ns => 280 Taktzyklen Wartezeit auf die Daten. Eine SSD ist mit Dateisystem dazwischen nochmal eine Ecke langsamer
    • Bei Festplatten im ms Bereich dürfte sich der wartende Kern ohne alternativer Aufgabe zwischenzeitlich schlafen legen um Energie zu sparen
  • Datendurchsatz:
    • Der VRAM nähert sich der 1 TB/s Grenze. RAM ist je nach Takt und Channels bei 50 bis 100 GB/s in Desktop-PCs. Der L1-Cache bei CPUs hat die TB/s Marke durchbrochen, wird bei GPUs nicht anders sein.
    • Selbst eine PCIe 4.0 x4 SSD ist auf 8 GB/s limitiert.
VRAM wird dringend benötigt um Texturen für unmittelbar bevorstehende Bilder bereit zu halten. Wird die Textur nun aus dem RAM nachgeladen (Straflatenz + ~16 GB/s Durchsatz bei PCIe 3.0 x16) ruckelt es. Eine SSD schafft hier keine Abhilfe sondern verschlimmert das Problem bestenfalls um den Faktor 2 (bei PCIe 4.0 x16 Karten um den Faktor 4, bei "lahmeren" SSDs mehr).

Ich vermute man kann mit besserem Streaming eher RAM einsparen. Fehlt für ein anstehendes Bild etwas im VRAM hilft kein externes Streaming weiter, das ist um Größenordnungen zu langsam (Latenz und Durchsatz). Bei den Konsolen welche sich Speicher als RAM und VRAM teilen hilft gesparter RAM natürlich auch dem VRAM ;).
HisN schrieb:
Nur wenn das nicht der Fall ist muss man Daten jonglieren. Also ist DirectIO nicht der Heilige Grahl, sondern einfach nur eine weitere Krücke um fehlendes RAM/VRAM zu kompensieren. Ich würde mir wünschen das die vorhandenen Ressourcen genutzt werden anstatt Krücken zu verwenden.
Eine "Krücke" ist bereits der Cache in einer CPU, der RAM bremst extrem und ein Massenspeicher vor dem SSD Zeitalter als SWAP zu verwenden war eine mittlere Katastrophe (vor allem mit schlechten Algorithmen welche erst bei vollem RAM angefangen hatten auszulagern, da Stand ein System im längeren Minutenbereich komplett).
Deshalb möchte aber niemand eine mehrere m² großes CPU Die Designen oder gar Fertigen um auf RAM verzichten zu können ;).
Andere "Krücken" wie Branch Prediction, Out of Order Execution oder Speculative Execution haben die CPU Performance massiv verbessert um "ungenutzte" Taktzyklen eventuell sinnvoll zu verbringen. Unsauber implementiert allerdings aus Sicherheitsbetrachtung suboptimal :evillol:.
Pilstrinker schrieb:
Alles andere kann man dagegen vergessen.
Nicht für alles, bessere Streamingalgorithmen sind kein Nachteil, wenn dadurch die Kosten im Konsolenbereich etwas geringer gehalten werden können auch.

Nur @HisN sein Wunsch auch eine High-End Ausstattung immer komplett sinnvoll auszulasten ist halt auch der Fluch: Die Zielgruppe ist viel zu klein als dass dort der erforderliche Aufwand reingesteckt würde...
 
  • Gefällt mir
Reaktionen: HisN und Pilstrinker
Zurück
Oben