Definintion: Video RAM - Waru mehr oder weniger?

l3eniy

Commander
Mitglied seit
14.02.2010
Beiträge
178
Renomée
0
Hallo,
Es gibt da eine Sache die sich mir nicht richtig erschließen lässt:
Der VideoRAM einer Grafikkarte. Wofür genau ist der da? Was geht da rein? Was passiert wenn Ich an MSAA und AA in Spielen drehe? Wie verhält sich die Framerate im Bezug auf den VRAM?
Warum kann Ich ein Spiel mit 1GB VRAM genausogut spielen wie jemand der 2GB VRAM besitzt und dabei eine VRAM-Asulastung von 1600MB hat? Wie macht sich zu wenig VRAM bemerkbar?

Im Pronzip bräuchte Ich ein klare Definition. Mein Hirn wurde mit so viel Halbwissen zu dem Thema vollgepump, sodass Ich nicht mehr weiß was Ich glauben kann oder soll.

LG,
l3eniy, hoffend der Wissenden Wissen bald zu erlangen.
 
im vram landen in erster linie deine texturdaten. wieviel speicher die belegen bestimmt die auflösung und die art, wie mit den texturen umgegangen wird (texturkompression, texture-streaming usw).

MSAA ist eine leistungsschonende möglichkeit aliasing zu vermeiden, wobei die einsparung darin begründet ist, das multisampling nur poligonkanten und eben keine texturen erfasst. soll die textur mitgeglättet werden, muss man SSAA verwenden. beim supersampling wird der komplette bildinhalt intern mit höherer auflösung gerendert, was den anspruch an speichermenge drastisch erhöht, aber auch gleichzeitg schärfend auf den inhalt der textur wirken kann.. ähnlich wie ein anisotroper filter. gleichzeitig wirkt SSAA shaderaliasing entgegen und kontrastflimmern an kanten die (hoch)dynamisch überstrahlen wird eleminiert.

ausgehend von der ursprungsgröße einer textur und ihrer komprimierung kann man damit einstellungen vornehmen, die die physikalische speichermenge überschreitet und dann muss über PEG auf RAM ausgelagert werden. wie gut oder schlecht sowas funktioniert, lässt sich nicht pauschalisieren; kompatiblität und der treiber spielen da sehr stark mit rein.

den spagat zwischen MSAA und SSAA machen mischmodi, die zusätzlich zum MSAA für die poligonkanten noch SSAA auf alphatest-texturen (texturen mit transparenzen wie blätter, zäune usw) applizieren. neben den zuschaltbaren transparenz-AA-modi gibt es noch eine reihe von hybriden oder abarten, die auch farbsamples berücksichtigen oder das samplemuster anders anordnen was u.u. bandbreite schont und hi und da den bildeindruck stärker verbessert als reines MSAA.. bei spielbareren frameraten als z.b. supersampling.

neuere modi (wie FXAA) benutzen die GPU um flimmrige treppenkanten zu blurren und belasten den speicher kaum, weil hier nicht intern mit höhere samplezahl gerendert wird.. im grunde ist das auch kein AA, sondern eher postprozess.

wie gut du ein spiel mit 1GByte VRAM spielen kannst bestimmt doch in erster linie das spiel. 2GByte sind da von vorteil, wo auflösungen oberhalb von 1920x1080 (fullHD) noch mit 8facher kantenglättung auf dem schirm landen sollen. nur muss dann auch die GPU stark genug für eine so große szene sein; speicher allein bringt nicht weiter..

ob man nachladen von texturdaten bemerkt ist von spiel zu spiel verschieden - idealerweise nutzt die engine das, was technisch möglich ist, sofern sie es überhaupt braucht (bezogen auf die speichermenge, denn freigehaltener RAM ist sinnlos).


(..)

mfg
tobi
 
Zuletzt bearbeitet:
Ok, Danke für die ausführliche Definition.
Also sollten 1,28GB VRAM schon reichen für glatte Kanten. Jetzt fühl Ich mich schon aufgeklärter.
 
ja, und falls das irgendwo nicht so ist, nimmst du halt die hohen statt der ultratexturen.

hab grad mal nachgeschaut.. mein bf3 nimmt zwischen 850 (metro) und 1004MByte (kaspische grenze).. je nach map.. *schulterzuck*

ich würd' mir da keinen kopf machen.



(..)

mfg
tobi
 
Zuletzt bearbeitet:
Als Anmerkung noch:

SSAA ist nicht gleich SSAA.
Soweit ich weiß braucht nur OGSSAA (aka Downsampling oder x*y SSAA) mehr Speicher. SGSSAA nicht. Ich kann das eigentlich mal austesten, mach ich jetzt am Wochenende.
 
Jetzt noch eine Frage zum Auslesen der gebrauchten Speicherkapazität:
Der MSI Afterburner zeigt mir in meinem Crossfiresystem 1900MB als belegten Speicher an. Muss Ich den durch die bedein Karten dividieren um den "wahren" Speicherverbrauch benennen zu können? Wenn ja wären es 950MB ohne MSAA, nur mit den Ultra-Texturen.
 
Der angezeigte Speicher entspricht normal immer einer Karte. Normal quasi mem1 und mem2, warum da bei Dir eine Summe steht weis ich nicht. Bei Dir dann aber durch 2. Die Karten haben ja nur 1GB VRAM.

In 1920x1200 maxed out landen bei mir 1263 MB im Vram, Metro 1077MB.
 
OG verwendet das samplemuster des eingestellten MSAA -anteils.. also bei 4fach eine anordnung, wie die punkte auf einem würfel (4 samples). SG benutzt sie ebenfalls, rotiert sie aber um 90°

nicht uninteressant:
http://www.nhancer.com/help/AASamples.htm


(..)

mfg
tobi
 
Hi,

unter Video Ram versteht man für gewöhnlich den Ram auf der Grafikkarte. Da der Grafikprozessor jedoch auch in den System-Ram (also den gewöhnlichen Arbeitsspeicher) auslagern kann, ist manchmal mit Video Ram auch Grafik-Ram plus der im "normalen Ram" für die Grafikkarte reservierte Bereich gemeint. In der Regel versteht man jedoch ersteres unter Video Ram.

Wenn die GPU (Grafikprozessor) nun in den System-Ram auslagern kann, weshalb besitzt sie dann einen eigenen Speicher? Wegen der Geschwindigkeit natürlich. ;)
Der auf Grafikkarten eingesetzte Speicher unterscheidet sich in einigen Punkten vom System-Ram: Er liegt räumlich viel näher an der GPU, ist wesentlich höher getaktet, besitzt meist ein breiteres Speicherinterface (sozusagen mehr parallele Leitungen für Lese-/Schreibzugriffe), verbraucht dafür jedoch auch wesentlich mehr Strom, ist teurer und hat weniger Kapazität als gewöhnlicher Arbeitsspeicher.


Wie verhält sich die Framerate im Bezug auf den VRAM?

Wie viel Grafikkartenspeicher belegt wird, hängt von mehreren Punkten ab:
- Einstellungen im Programm (Auflösung, Texturen, Anti-Aliasing, andere Grafikeinstellungen)
- Fehler im Treiber oder ausgeführten Programm, die dafür sorgen, dass sich der Ram mit der Zeit befüllt, ohne von alten, unwichtigen Daten entleert zu werden.
- Größe des Grafikkartenspeichers.

Letzteres klingt paradox, liegt jedoch daran, dass heutige Hardware und Software vorhandenen Speicher meist intelligent nutzt. Zum Beispiel gibt es auf jedem Grafikchip einen Bereich, dessen Aufgabe es ist, den Speicher zu verwalten. Auch wird jedes Spiel beim Start oder bei der Installation überprüfen, wie viel Video Ram vorhanden ist und ebenso wird der Treiber ein anderes Management betreiben, je nach dem, welche Situation er vorfindet. Das alles wirkt sich aber noch nicht unbedingt auf Performance oder gar Grafik aus. Das heißt, nur weil ein Programm 1600MB in einem 2048MB Speicher besetzt, heißt das noch nicht, dass es nicht auf dem selben Grafikkartenmodell mit nur 1024MB ebenso gut laufen könnte. Zum Beispiel könnte die 1024MB Karte Dinge, die nicht "auf Bereitschaft" benötigt werden, in den System Ram auslagern, oder könnte einfach das 2048MB Modells seinen Ram anders verwalten, oder könnte das Spiel vielleicht weniger Speicher-effizient agieren, ohne das dabei ein großer Vorteil entstünde, oder oder oder. ;)


Zuletzt sollte man sich, wenn es um Spiele geht, noch eines vor Augen halten:
Viele aktuelle Spiele sind Multi-Plattform. Werden also für PC und Konsolen entwickelt.
Das heißt auch, dass sie technisch dem Level der Konsolen entsprechen müssen, und nur manchmal an die aktuelle PC Technik angepasst werden. Da die aktuelle Konsolen-Generation soweit ich weiß etwa 512MB hat, befinden wir uns auch bei PC Spielen eher in einer Phase, in welcher Video-Ram mehr als ausreichend vorhanden ist (1GB reicht nach wie vor für die meisten Spiele in hohen Einstellungen). Dieser geringe Bedarf seitens eines großen Teils der Software führt tendenziell auch dazu, dass Grafikkartenentwickler den Video-Ram nicht stark erhöhen, und wiederum andere Softwareentwickler für die Masse der Grafikkarten entwickeln, anstatt für das eine Modell mit 4GB. Ich denke, wir werden auch bei PC Hardware einen Sprung sehen, sobald die nächsten Konsolen-Generation mit ihrerseits besserer Hardware kommt. Erst dann dürften die meisten Spiele selbst High-PCs wieder auslasten.

Warum kann Ich ein Spiel mit 1GB VRAM genausogut spielen wie jemand der 2GB VRAM besitzt und dabei eine VRAM-Asulastung von 1600MB hat? Wie macht sich zu wenig VRAM bemerkbar?

Hoffe, dir das damit einigermaßen beantwortet zu haben. Eine hohe Ram-Auslastung ist nicht zwangsweise ein Zeichen für Überlastung, sondern kann ebenso gut ein Zeichen für gutes Management der Ressourcen sein. Ob mehr VRAM etwas bringt lässt sich am zuverlässigsten nur durch Tests zeigen, die zwei ansonsten wirklich identische Grafikkarten (im selben System) mit unterschiedlicher Ram-Bestückung testen.
 
Zurück
Oben Unten