See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Grafikspeicher – Wikipedia

Grafikspeicher

aus Wikipedia, der freien Enzyklopädie

Als Grafikspeicher (Videospeicher) wird der gesamte durch die Grafikhardware (Grafikkarte, Onboard Grafikchip) nutzbare Speicher von Computern und Spielkonsolen bezeichnet. Umgangssprachlich versteht man darunter nur den auf Grafikkarten befindlichen Halbleiterspeicher. Die oft genutzte Bezeichnung Video RAM steht eigentlich für den in den 90er Jahren oft verbauten und heute veralteten Halbleiterspeichertyp VRAM.

Inhaltsverzeichnis

[Bearbeiten] Entwicklung

Bis Ende der 70er Jahre gab es keine gesonderte und für Berechnungen zur Bildschirmausgabe verantwortliche Recheneinheit. Alle nötigen Operationen wurden direkt von der CPU vorgenommen (zum Beispiel Atari 2600) und im Hauptspeicher des Computers zwischengespeichert.

[Bearbeiten] Die erste Generation

Die erste Generation der Grafikkarten (bis 1990) verwendete den lokalen Grafikspeicher lediglich als Framebuffer, das heißt die GPU nimmt die vorberechneten Pixeldaten der CPU entgegen und legt sie im lokalen Grafikspeicher ab. Die damals übliche Speicherbestückung zeigt die folgende Übersicht. Die in der Tabelle zum Teil verwendete Maßeinheit KiB (nach IEC) entspricht dem gebräuchlichen kB (Kilo Byte).

Grafikstandard MDA CGA EGA VGA SVGA XGA
Erscheinungsjahr 1981 1981 1984 1987 1989 1990
typische
Speicherbestückung
4 KiB 16 KiB 64–256 KiB 256 KiB 256–1024 KiB 512–2048 KiB

Welche Kombinationen aus Bildauflösung und Farbtiefe damit darstellbar sind – einen entsprechenden Monitor vorausgesetzt – kann hier abgelesen werden.

Auflösung 4 Farben 16 Farben 256 Farben HighColor TrueColor
320 × 200 16 kB 32 kB 64 kB 128 kB 192 kB
640 × 480 75 KiB 150 KiB 300 KiB 600 KiB 900 KiB
800 × 600 117 KiB 234 KiB 469 KiB 938 KiB 1406 KiB
1024 × 768 192 KiB 384 KiB 768 KiB 1536 KiB 2304 KiB
1280 × 1024 320 KiB 640 KiB 1280 KiB 2560 KiB 3840 KiB
1600 × 1200 480 kB 960 kB 1920 kB 3840 kB 5760 kB

[Bearbeiten] Windows Beschleuniger

Die GPUs dieser Kategorie konnten einige wenige Befehle (zum Beispiel zeichne Viereck) selbständig ausführen. Der lokale Grafikspeicher, meist zwischen 1 MiB und 8 MiB, wurde durch DRAM, EDO RAM, VRAM oder MDRAM umgesetzt. Die beiden zuletzt genannten sind Halbleiterspeichertechnologien, die speziell für Grafikkarten entwickelt wurden.

[Bearbeiten] 3D-Beschleuniger

Mitte der 90er Jahre kamen die ersten echten 3D-Beschleuniger auf den Markt. Dreieckstransformationen und Texture Mapping wurde von diesen Karten selbständig berechnet. Der erste Vertreter der Serie war 1996 die Voodoo Graphics mit 4 MiB oder 6 MiB EDO RAM.

Ende 1999 erschien Nvidias GeForce256 mit 32 MiB SGRAM – die erste Grafikkarte im Endkundengeschäft mit integrierter T&L Einheit.

Mitte 2002 erschien ATIs Radeon 9700 Pro mit 128 MiB DDR-SDRAM – die erste vollständig DirectX 9.0 kompatible Grafikkarte.

[Bearbeiten] Aktueller Stand

Bei aktuellen Systemen sitzt die GPU auf einer separaten Steckkarte, die über ein Bussystem (meist PCI-Express oder AGP) mit der CPU und dem Hauptspeicher verbunden ist. Auf der Steckkarte befindet sich speziell auf Grafikoperationen abgestimmter Halbleiterspeicher, der direkt für die GPU verfügbar ist. Neue Entwicklungen im Bereich Echtzeit-Rendering sowie der Preisverfall im Halbleiterspeichersegment tragen zum stetigen Wachstum des Grafikspeichers bei. So sind Grafikkarten mit bis zu 1024 MiB GDDR4-SDRAM erhältlich.

Eine weitere Möglichkeit bietet die Integration der GPU auf der Hauptplatine und kommt bei Systemen zum Einsatz, wo es auf keine hohe 3D-Leistung ankommt (zum Beispiel bei Bürocomputern). Diese preisgünstige und leistungsschwache Variante verfügt über keinen eigenen Grafikspeicher; vielmehr wird ein Teil des Hauptspeichers (shared memory) für das Ablegen von Daten bereitgestellt.

[Bearbeiten] Speicherinhalt

Welche Informationen werden im Grafikspeicher abgelegt?

  • Framebuffer
    In diesem regelmäßig durch den RAMDAC ausgelesenen Speicherbereich finden kontinuierlich die Berechnungen zur Bildsynthese statt. Die Größe des Framebuffers ist abhängig von der verwendeten Auflösung (zum Beispiel 1024 × 768), der benutzten Farbtiefe (zum Beispiel 16 Bit pro Pixel), dem Antialiasing-Modus und dem verwendeten Framebufferkonzept (zum Beispiel Doppelpufferung, Dreifachpufferung).
  • z-Buffer
    Hier wird für jedes Bildschirmpixel ein Wert zur Tiefeninformation gespeichert. Die Größe ist wiederum abhängig von der gewählten Genauigkeit der Werte; üblich sind 24 und 32 Bit.
  • Vertex-Shader- und Pixel-Shader Programme
    Seit DirectX 8.0 werden Spieleentwicklern maschinencodeähnliche Operationen zur Verformung von Objekten oder zur Umsetzung bestimmter grafischer Effekte (zum Beispiel Schattenwurf, Spiegelung) angeboten. Diese meist sehr kleinen Programme werden direkt im Grafikspeicher abgelegt.
  • Geometriedaten
    Mit der Einführung von DirectX wurde das Dreieck als Standardprimitiv zur 3D Darstellung festgelegt. Somit besteht nahezu jede im Grafikmodus darstellbare Szene aus mit Dreiecken zusammengesetzten Objekten (Polygone). Die Geometriedaten ordnen u. a. jedem Dreieck die Eckpunkte zu und speichern zu jedem Eckpunkt den Normalenvektor. Die Größe dieses Speicherbereichs ist abhängig von der Komplexität der berechneten Szene (aktuell bis zu 500000 Dreiecke), das heißt um so mehr Dreiecke zu verarbeiten sind um so größer sind die Geometriedaten.
  • Texturdaten
    Alle verwendeten Texturen einer Szene werden meist aus Platzgründen komprimiert im Grafikspeicher abgelegt; Komprimierungsalgorithmen sind zum Beispiel FXT1 und S3TC. Dieser Bereich nimmt den größten Anteil am Grafikspeicher ein und ist von sehr vielen Faktoren abhängig, zum Beispiel Anzahl, Größe (bis zu 2048 × 2048 Pixel) und Farbtiefe der verwendeten Texturen.

[Bearbeiten] Flaschenhals Systembus

Ältere Grafikkarten geben Grafikberechnungen an die CPU ab. Durch höhere Auflösungen und mehr darstellbare Farben wuchs im Laufe der Zeit der Datenstrom zwischen GPU und CPU immer weiter an bis er durch die Leistungsfähigkeit des Systembusses ausgebremst wurde. Ein weiteres Problem war der benutzte Grafikspeicher. Dieser erlaubt keine gleichzeitigen Lese- und Schreibzugriffe. Der RAMDAC muss mit dem Auslesen warten, solange die CPU in den Speicher schreibt und umgekehrt. Auf modernen Computer ist der Systembus die kritische leistungsbestimmende Komponente; das zeigt sich insbesondere bei aktueller 3D-Grafik. Die folgende Beispielrechnung soll dies verdeutlichen.

  • Darstellung einer Szene in der Auflösung 1280 × 1024 Pixel mit 32 Bit Farbtiefe und 50 Bilder pro Sekunde
 1280 × 1024 × 32 Bit × 50 1/s = 250 MiB/s

Die 250 MiB pro Sekunde berücksichtigen nur den zur Monitorausgabe nötigen Datenstrom. Die gesamte eventuell anfallende Datenübertragung zur Bildsynthese trägt zu dem Wert nichts bei. Als Konsequenz daraus sollte die Nutzung des Systembusses auf ein Minimum verringert werden.

  • Alle zur Bildsynthese oder -ausgabe anfallenden Berechnungen werden von einer separaten und lokal von der CPU getrennten GPU vorgenommen.
  • Die GPU verfügt über eigenen und direkt erreichbaren Halbleiterspeicher. Die möglichst seltene Nutzung des Hauptspeicher sollte nur dann erfolgen, wenn der lokale Speicher nicht ausreicht.
  • Als verwendeter Halbleiterspeicher sollte kein normaler DRAM verbaut werden, da dieser den hohen Anforderungen der GPU nicht genügt. So erlaubt DRAM zum Beispiel keine gleichzeitigen Lese- und Schreiboperationen. Das ist für eine Grafikkarte wichtig, da der RAMDAC kontinuierlich Teile des Speichers ausliest während die GPU Ergebnisse in den Speicher schreibt.


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -