Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mo Jul 07, 2025 23:06

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Di Jun 24, 2003 21:55 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Jun 09, 2003 16:47
Beiträge: 35
Wohnort: Bielefeld
Hi@ll
Da ich letztens erfuhr, dass meine voodoo 3 nur texturen von max 128x128 pixel verarbeiten kann, habe ich bischen darüber nachgedacht. Meine Frage steht bereits im Topic. Spontan würde mir als antwort einfallen, dass das ram für die grösse der texturen verantwortlich ist (zb 16 MB grosse texturen auf einmal). aber dann hab ich überlegt, das es doch nicht alles sein kann.
Ist das (?!?!) Ram/ der arbeitsspeicher beim zocken immer voll und wie bekommt man den wieder leer - geht das überhaupt?

Kann mir das jemand etwas näher bringen oder hat ein gutes tutorial oder so???

_________________
Ich bin n00b und das ist auch gut so!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jun 24, 2003 22:11 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Also im Speicher deiner Grafikkarte wird eigentlich noch so manches mehr gespeichert...ich zähls mal kurz auf (ich gebe allerdings keine Garantie auf Vollständigkeit) :

- Puffer
Natürlich liegen alle Puffer die du Nutzen willst, sofern diese von der Hardware unterstützt werden, im RAM der Graka.Dazu zählen der Farbpuffer (Front und Back), der Tiefenpuffer, der Stencilpuffer, Pixelpuffer (Render-To-Texture), Akkumulationspuffer.Je nach Auflösung und Anzahl der genutzten Puffer, können diese schon sehr viel Platz wegnehmen.Wenn unter z.B. auf 1280x960 zwei Farbpuffer (Front+Back), den Z-Puffer und den Stencilpuffer nutzt, und dann auch noch 4xAA aktiviert, sind schnell über 100 MByte Grafikspeicher verbraten!

- Texturen
Wie du bereits bemerkt hast, liegen natürlich auch die Texturen im Grafikkartenspeicher und nehmen auch einen Großteil dessen ein.Wenn kein Platz mehr im Grakaspeicher ist, und dein System AGP unterstützt, werden Texturen in den Hauptspeicher des PCs ausgelagert.Wenn die Grafikkarte es unterstützt, dann sollte man die Texturenkomprimierung aktivieren um so Grafikspeicher bei minimalem Qualitätsverlust zu sparen.
Wichtig : Die maximale Texturengröße hängt im Normalfall nicht vom Grafikkartenspeicher ab.Hier liegt die Limitation eher beim Grafikchip!

- Vertexdaten
Diese liegen im Normalfall zwar im Hauptspeicher, aber sobald du z.B. eine Displayliste erstellst oder VBOs nutzt, werden deren Vertexdaten auf der Grafikkarte gespeichert und können unter Umständen auch recht viel Speicher verbrauchen.

So, dass war jetzt mal grob das was im Grafikspeicher alles so abgelegt wird.Wie du siehts, ist das recht viel, und besonders bei Auflösungen jenseits von 1280x960 wird er Platz selbst bei ner 128 MByte-Grafikkarte sehr schnell knapp, und es muss über den AGP-Bus auf die Grafikdaten im Hauptspeicher zugegriffen werden, was allerdings sehr langsam ist. (Vergleich : Bandbreite AGP8x = 2,1GByte, Bandbreite einer Radeon9700Pro = 19,8GByte)

Deshalb sollte man immer sparsam mit diesem Speicher umgehen, denn es gibt ja noch jede Menge Leute bei denen ne RivaTNT2 mit "nur" 32 MByte Speicher (oder gar weniger) im Rechner steckt!

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jun 25, 2003 12:03 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Jan 04, 2003 21:23
Beiträge: 674
Wohnort: Köln
warum ist es dann so bzw. wird es oft so dargestellt, dass eine GraKa mit 64mb kaum langsamer als eine mit 128mb??
das niemals über 64mb gebracucht werden kann ich mir eigentlich nicht vorstellen, und deshalb müsste doch eigentlich ein ziemlicher geschwindigkeitsvorteil zumindest bei graphisch aufwendigen sachen zu spüren sein :/ gerade wegenh der unterschiedlichen geschwindigkeiten zw. haupt- und grakaspeicher... (z.B. 2,1:19,8Gbyte...)

_________________
. . .


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Jun 25, 2003 12:12 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Das liegt daran, das man z.B. auf ner 64MByte Graka in den meisten Anwendungen (Spielen) die Details gar nicht erst so hoch schrauben kann, als das der Speicher knapp würde, denn die meisten Spieleprogrammierer wissen, das Texturen die im Hauptspeicher des Rechners abgelegt werden müssen, den Spielfluss stark verlangsamern würden.

Bei UT2003 kann man z.B. die Texturen- und Geometriedetails auf ner 64MByte-Karte gar nicht erst so hoch einstellen wie bei einer 128MByte Karte.Ganz nebenbei nutzen viele kommerzielle Titel unter Garantie einen "intelligenten" Texturenmanager, der häufig sichtbare Texturen priorisiert, so dass weniger gezeigte Texturen bei mangelndem Grafikkartenspeicher in den Hauptspeicher ausgelagert werden, und der Geschwindigkeitseinbruch so eher gering ausfällt...unter OpenGL gibts dazu sogar nen eigenen Befehl namens <a href='http://www.3dlabs.com/support/developer/GLmanpages/glprioritizetextures.htm' target='_blank'>glPrioritizeTextures</a> !

Und spätestens wenn du in hohen Auflösungen AA und AF aktivierst, wird dir der Unterschied garantiert auffallen (sofern die 64MByte Graka überhaupt AA in hohen Auflösungen unterstützt), da dann die von mir oben genannten Puffer sehr viel Speicher fressen und jede Menge Texturen über den AGP-Bus wandern müssen.Über 1280x960 mit aktivem 4xAA gibts sogar einen merkbaren Unterschied zwischen 128 und 256MByte (siehe Radeon9800 Pro).

Fazit : Mit steigender Auflösung (AA macht ja im Prinzip nix anderes, als die Auflösung zu vergrößern) spielt die Größe des Grafikkartenspeichers eine immere wichtigere Rolle im Bezug auf die Geschwindigkeit.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 13 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 14 Queries | GZIP : On ]