Video-RAM

Im Video-RAM (auch Bildwiederholspeicher genannt) wird das momentane Bild einer Grafikkarte (bzw. deren Äquivalent) gespeichert. Von der Elektronik wird dieser Speicher zyklisch ausgelesen und an den Monitor gesandt. Der Bildinhalt kann durch die CPU oder durch die GPU verändert werden. Systeme ohne Video-RAM gibt es heute praktisch nicht mehr und in der Vergangenheit waren sie selten; der Atari 2600 etwa hatte keinen Bildspeicher, sondern generierte das Bild direkt durch die CPU.

Es kommt regelmäßig zu einem Konflikt zwischen den Lesezyklen und dem Zugriff der CPU. Nur wenige Systeme priorisieren die CPU, was zu Bildstörungen führt. Ist nicht spezielles, teures VRAM vorhanden, muß die CPU warten. Dieser Effekt ließ sich bei SVGA-Karten deutlich beobachten: höhere Auflösungen/Farbtiefen erhöhten die Leseanforderungen der Grafikkarte, so daß der CPU immer weniger Bandbreite (Extremfall ca. 10%) übrigblieb und dieser Grafikmodus sehr langsam wurde.

Die ersten Grafikkarten beim PC, MDA und CGA hatten noch kein eigenes Video-RAM auf der Karte (sehr wohl aber die Hercules-Karte!). Sie benutzten den Hauptspeicher des PCs mit. Das nennt man Shared Memory und dies wird heute noch bei Grafikchips in Notebooks z. T. so praktiziert.

Ab dem EGA-Standard hatten die Karten praktisch immer einen eigenen Speicher.

Video-RAM für Framebuffer

In der 1. Generation benötigten die Grafikkarten das Video-RAM nur zum Abspeichern des Framebuffers. Speicherbedarf an Video-RAM verschiedener Auflösungen:

Breite × Höhe × Farben Speicherbedarf Standard
320 × 200 × 2 8 KiB C64
640 × 200 × 2 16 KiB CGA
750 × 350 × 2 32 KiB Hercules
640 × 350 × 16 64 KiB EGA
640 × 480 × 16 128 KiB VGA
320 × 200 × 256 64 KiB VGA
640 × 480 × 256 256 KiB VGA-extended
800 × 600 × 256 512 KiB SVGA
1024 × 768 × 256 1 MiB XGA
1024 × 768 × 64k 2 MiB XGA
1024 × 768 × TrueColor 3 MiB XGA
1280 × 960 × TrueColor 4 MiB SXGA
1600 × 1200 × TrueColor 6 MiB UXGA
1920 × 1200 × TrueColor 8 MiB WUXGA
2560 × 960 × TrueColor 8 MiB Dual SXGA

Die einfachsten "Grafikkarten" sind im Jahr 2004 eingebaute Chips. Sie haben mindestens 8 MiB und bieten daher für die verwendbare Auflösung bei statischer Darstellung (keine Filme oder Spiele) praktisch keine Beschränkung. Der tatsächliche Speicherbedarf für Auflösungen in TrueColor ist jedoch meist etwas höher, da ein Pixel typischerweise als 32-bit Datenword adressiert wird. Manche Grafikkarten beherrschen jedoch eine gepackte Darstellung, bei der ein Pixel nur 24-bit also 3 Byte im Speicher beansprucht.

Video-RAM für Spiele

Für Spiele brauchen 3D-Beschleuniger drei Puffer: Zwei Framebuffer, einen z-Buffer. Der z-Buffer ist bei modernen Karten in etwa so groß wie ein Framebuffer. Damit braucht eine Grafikkarte für ein 3D-Spiel in SXGA-Auflösung und 4-Byte-TrueColor mindestens 16 MB Speicher. Dann bleibt allerdings kein Speicher für die Textur. Texturen benötigen in modernen Spielekarten den meisten Speicherplatz. Ist nicht genug davon da, können nur einfache Texturen verwendet werden.

See also: Video-RAM, 3D-Beschleuniger, Atari 2600, CGA, CPU, Enhanced Graphics Adapter, Framebuffer, GPU, Grafikkarte, Hauptspeicher