Warum können Grafikkarten nicht einfach mehr Speicher haben?

7

Was ich nie verstanden habe, warum haben Grafikkarten normalerweise wenig Speicherplatz? Ich weiß, dass Speicher nicht alles ist, aber es ist sicherlich ziemlich billig, nur 4 GB Speicher auf eine alte Grafikkarte zu laden?

Tom Gullen
quelle
3
Warum schreiben Sie Ihre App nicht einfach effizienter?
Jeremy Visser
9
Wenn ich einen Cent für jede Person hätte, die glaubt, dass mehr Gedächtnis mehr Leistung bedeutet, wäre ich jetzt reich.
Durchbruch
2
Also sollte ich mein Voodoo5 5000 AGP 4GB zurücknehmen? Shucks.
Nic

Antworten:

23

Es ist an sich nicht billig , aber es könnte getan werden, ja. Es würde den Preis der Karte erhöhen, aber es könnte getan werden.

Die Frage ist jedoch, warum sich die Mühe machen. Wenn Ihre Karte nicht schnell genug ist, um tatsächlich 4 GB VRAM zu benötigen, wird Geld verschwendet. Worum geht es? Sie können so viele Texturen haben, wie Sie möchten, aber wenn Sie diese 4 GB Daten nicht für jeden einzelnen Frame durchziehen können, werden sie verschwendet.

Der wichtigere Grund ist jedoch, dass VRAM in einem 32-Bit-Betriebssystem erste Dibs auf dem 4 GB adressierbaren Speicherplatz erhält. Wenn Sie über 4 GB VRAM verfügen, bleibt genau nichts für etwas anderes übrig, und Ihr Computer würde nicht einmal booten. Schade!

Phoshi
quelle
Dies kann sicherlich auch in einem 32-Bit-Betriebssystem abgebildet werden. Und 64-Bit ist heutzutage sehr verbreitet. Ich bezweifle das. Außerdem benötigt möglicherweise nicht jeder Rahmen die gleichen Texturen. Dies hängt davon ab, ob Sie in den Himmel, auf den Boden oder durch das Fenster in ein Haus schauen. Das kann jeden Frame ändern, sodass Sie viel mehr Texturen benötigen, als Sie für jeden Frame verwenden können.
Macke
2
@Marcus Das Zuordnen des Grafikkartenspeichers aus dem 32-Bit-Adressraum ist nicht so einfach wie Sie vielleicht denken und hätte wahrscheinlich Konsequenzen für Anwendungen, die erwarten, dass die Grafikkarte in ihren 32-Bit-Adressraum abgebildet und Texturen direkt in diesen geladen werden Anstatt Speicher zuzuweisen, ihn mit Texturen zu füllen und dann teure Speicherkopierroutinen zu verwenden, die in die Grafiktreiber integriert sind. 64-Bit macht dies überflüssig, wurde aber erst in den letzten 2-3 Jahren wirklich an die Verbraucher weitergegeben. Vista hatte eine 64-Bit-Version, aber nur sehr wenige verwendeten sie. Win7-64 ist der erste harte Push auf 64-Bit.
Mokubai
1
@Durchbruch; Wenn Sie 4 GB RAM und 1 GB VRAM unter einem 32-Bit-Betriebssystem ausführen, erhalten Sie ~ 3 GB nutzbaren RAM. Nehmen Sie 0,5 GB VRAM weg und Sie erhalten 0,5 GB RAM zurück. Ich habe zwar keine Karte mit 4 GB VRAM zum Testen, aber nichts, was ich weiß, deutet darauf hin, dass sich dieses Verhalten ändern würde.
Phoshi
2
@Marcus; Das stimmt, sie sind ziemlich schlau - deshalb sollten sie ihre Zeit damit verbringen, bessere Hardware zu entwickeln, anstatt ihre Karten auf Hardware arbeiten zu lassen, die es ohnehin zum Engpass macht: P
Phoshi
1
@Durchbruch; Ich meine, während beide Karten laufen, glaube ich, dass der VRAM effektiv gespiegelt und nicht gepoolt wird.
Phoshi
16

Da es sich normalerweise nicht um Ihr gewöhnliches RAM handelt, handelt es sich um Hochgeschwindigkeits-RAM mit mehreren Ports und möglicherweise in einer sehr kompakten Größe, was es für den Hersteller teurer macht.

Alan B.
quelle
2

Zusätzlich zum RAM-Preis vermute ich, dass der Speichercontroller und der Cache für uns so wenig Bits wie möglich für Adressen ausgelegt sind. Es könnte sich als zu langsam erweisen, um mehr Speicher zu verwenden.

Macke
quelle
0

Es besteht noch kein starker Marktbedarf für große Speichergrafikkarten. Der GPU-Markt wird von Spielern angetrieben. Selbst die meisten High - End - Spiele nicht wirklich mit doppelter Genauigkeit benötigen. Sie sind mit einfacher Präzision in Ordnung, die Texturen werden schneller geladen, und außerdem können sie in Land mit einfacher Präzision doppelt so viel Platz beanspruchen, um ein Doppel zu speichern .

Dies hat nichts mit meinen CUDA-Programmen zu tun, und ich würde eine GPU mit 48 GB GDDR5-Speicher lieben - ich sabbere bei dem Gedanken -, aber der Markt ist nicht da, um eine solche Karte zu bauen, weil die Spieler und die Spieleentwickler Verwenden Sie einfach nicht so viel Speicher.

Als einfaches Gedankenexperiment könnte ich beim Kauf eines brandneuen Spiels mit einer Single-Density-DVD fast das gesamte Bild in einen 4-GB-GPU-Speicherplatz einpassen (Sie würden 4,7 GB benötigen). Und natürlich werden sie das nicht tun, sondern wieder Perspektive. Dies wirft dann die Frage auf, warum sie die 64-Bit-Adressierung auf der Karte verwenden möchten, wenn sie keinen Speicherplatz benötigen (erforderlich, um mehr Speicher zu unterstützen). Warum die Hardware verschwenden und die Leistung für die überwiegende Mehrheit ihrer Kunden bestrafen? Es macht keinen guten Geschäftssinn.

Mit dem jüngsten Anstieg der GPGPU, insbesondere in den Bereichen Forschung, Finanzen und Regierung, werden Sie feststellen, dass Nischenkarten entwickelt wurden, die viel mehr Speicherplatz bieten . Aber sie werden nur langsam erscheinen und viel teurer sein. Aka Tesla

M. Tibbits
quelle
Beachten Sie, dass die einfache / doppelte Genauigkeit nur für Scheitelpunkte und Normalen gilt und das größte Speicherproblem auf einer Gaming-GPU heutzutage wahrscheinlich eher die Texturen als die Modelle sind. (Texturen werden wahrscheinlich in 16-Bit-Float anstatt 8-Bit-Ganzzahl in den neuesten und besten Spielen gespeichert ...)
Macke