Video Graphics Array
Der Begriff Video Graphics Array (VGA) bezeichnet einen Computergrafik-Standard (EISA, 1987), der bestimmte Kombinationen von Bildauflösung und Farbanzahl (Bittiefe) sowie Wiederholfrequenz definiert und ist praktisch identisch zum MCGA (Multicolor Graphics Adapter) von IBM. Fälschlicherweise wird oftmals Video Graphics Adapter als mögliche Bezeichnung genannt. VGA war, im Gegensatz zu seinen Vorgängern EGA und CGA, zu Anfang als Einchipprozessor zur leichteren Integration auf Motherboards konzipiert und somit nicht als eigener „Adapter” geplant.
Merkmale einer VGA-kompatiblen Grafikkarte
- 256 kB interner Speicher
- Register lesbar
- Kann Text darstellen (interne Tabellen: 8 × 8 bis 8 × 16 Pixel/Zeichen)
Zu beachten ist, dass eine Grafikkarte aus Computersicht VGA-kompatibel sein kann, ohne einen VGA-Anschluss zu besitzen, genauso wie eine Grafikkarte mit VGA-Anschluss nicht zwingend kompatibel zum VGA-Grafikkartenstandard ist.
Auflösung
Die Bild-Auflösung einer VGA-Karte lässt sich ziemlich frei einstellen, wodurch es z. B. auch möglich wird, eine VGA-Karte an einen Fernseher mit SCART-Buchse anzuschließen. Für herkömmliche VGA-Monitore geeignet sind jedoch nur folgende Varianten:
- 70 Vollbilder pro Sekunde mit maximal 400 sichtbaren Zeilen oder 60 mit maximal 480 sichtbaren Zeilen
- Die Anzahl der sichtbaren Zeilen lässt sich aber beliebig verringern, z .B. statt 400 nur 350 Zeilen bei 70 Hertz.
- Eine weitere Möglichkeit, die Auflösung zu verringern, besteht darin, Zeilen mehrfach darzustellen – aus 480 Zeilen werden so 240, 160, 120, 96 usw. oder aus 400 Zeilen 200, 166, 100, 80 usw.
- Pro Zeile sind 640 oder 720 Pixel üblich (je nach gewähltem Pixeltakt)
- Dieser lässt sich halbieren oder vierteln auf 320 oder 160 bzw. 360 oder 180 Pixel.
- Im 256-Farben-Modus wird der Pixeltakt ebenfalls immer halbiert.
Häufig benutzte Grafikmodi waren:
- 320 × 200 Pixel, 256 Farben (8 Bit, 64 kB linear, sehr beliebt)
- 320 × 200 Pixel, 16 Farben (4 Bit)
- 640 × 200 Pixel, 16 Farben
- 640 × 350 Pixel, 16 Farben (siehe EGA)
- 640 × 480 Pixel, 16 Farben (quadratische Pixel, 1 Plane je Farbe)
- 640 × 480 Pixel, 4 Farben (quadratische Pixel, 2 Pixel je Byte)
Kompatibilität zu EGA-Karten
VGA-Graphikkarten unterstützen bis zu 256 Farben aus 262144 möglichen Farben. Der EGA-Standard unterstützt jedoch nur 16 aus 64 Farben und benutzt hierzu eine einfache Tabelle. Bei VGA-Karten existiert diese Tabelle ebenfalls und zeigt auf einige der ersten 64 Einträge der Farbpalette. Diese VGA-Farbpalette hat nun 256 Einträge, so dass alle Farben dargestellt werden können.
VGA-Graphikkarten stellen den Textmodus mit 720 Punkten pro Zeile dar, genügend für 90 Zeichen pro Zeile. Dies würde jedoch eine deutlich unterschiedliche Speicherverwaltung erfordern, die entweder inkompatibel zu bestehenden Standards wäre, oder sehr umständlich. Man ging deshalb einen anderen Weg. Jedes Zeichen wurde um einen Pixel auf 9 Pixel verbreitert. Da im Zeichenspeicher jedoch nur 8 Spalten gespeichert waren, wurde das 9. Pixel entweder leergelassen, oder durch das Pixel auf der rechten Seite ersetzt. Die Entscheidung darüber wird nach der Nummer des Zeichencodes getroffen. Dadurch ergeben sich auch vertikale Streifen bei einigen Programmen, die den Hintergrund mit Grauzeichen füllen.
Heutige Bedeutung
Die heutigen Grafikkarten für IBM-kompatible PCs sind häufig noch immer ganz oder teilweise VGA-kompatibel. Von 1981 bis ca. 1990 nahm IBM bezüglich der PC-Hardware eine ähnliche Stellung ein wie bis 2005 Microsoft bezüglich Windows. Sie setzten die Standards bei der PC-Hardware, insbesondere auch bei Grafikkarten. In der Folge implementierten die BIOS-Hersteller die entsprechenden Grafikkartentreiber (CGA, EGA, VGA) direkt im BIOS. Das war auch deshalb nicht unwichtig, weil DOS nicht wie heutige Betriebssysteme ein Grafiksystem (GDI, X-Windows, DirectX) besaß. Daher musste jede Software ihre eigenen Grafikkartentreiber mitbringen und der User musste hoffen, dass einer irgendwie passte. Letztendlich gelang das bei Non-Standard-Grafikkarten selten und daher beschränkte sich die Software unter DOS meist auf VGA. Höhere Auflösungen - wie damals oft bei EGA-Karten anzutreffen, später dann bei fast allen SVGA-Karten - waren für den Benutzer unter DOS mangels Treiber weithingehend unbenutzbar. Daher beschränkten sich Spiele bis 1995 oft auch auf den 320x200x8-VGA-Modus (Mode 13h). Beispiele sind Doom 1, Worms oder Return to Castle Wolfenstein.
Nach 1990 verlor IBM seine Markt- und Standardisierungsmacht. Ein Standard konnte sich nicht mehr etablieren, da nun immer mehrere Hersteller (z.B. Genoa, Trident, Hercules u.v.m.) um den Markt kämpften. Die BIOS-Hersteller verzichteten daher darauf, noch weitere Treiber zu implementieren, mit dem Ergebnis, dass bis heute oft der VGA-Treiber der beste verfügbare ist, wenn noch kein externer Grafiktreiber installiert wurde.
Dass MS-Windows (zumindest bis Win2000) allerdings als Default-Treiber nur einen VGA-Treiber anbietet, ist nicht notwendig. Schon lange hat sich ein übergreifender "Notstandard", VESA, etabliert, der Auflösungen von bis zu 1280x960 Punkten in mind. 256 Farben ermöglicht und schon seit Mitte der 90er beherrschen alle Grafikkarten diesen VESA-Standard. Linux und BSD machen davon auch Gebrauch.
Auf Grund des hohen Alters des VGA-Standards und den damit einher gehenden Limitierungen des Designs ist es ein Anliegen verschiedener Hersteller wie Intel oder ATI den VGA-Standard durch den UGA-Standard (Universal Graphics Adapter) zu ersetzen. Immerhin wurde die VGA-Karte in den frühen 80ern für den ISA-Bus entwickelt, was gerade für moderne Betriebssysteme eine Schwierigkeit darstellt, da VGA somit zu den Errungenschaften des geschützten Speichermodells (Protected Mode) inkompatibel ist.
Das erklärte Ziel der Förderer von UGA ist es, die grafischen Mindestleistungen von 640*480*4 auf 800*600*32 anzuheben, das Speichermodell der Grafikkarte zu vereinfachen (durch 32-Bit Zugriff, sowie die Abschaffung des Textmodus) und einen Plattformunabhängigen Zugriff auf die Grafikkarte über EFI-Treiber zur Verfügung zu stellen. Kritischer, platformabhängiger Code soll somit reduziert werden. EFI-Treiber sind kein Ersatz für Betriebssystem-spezifische Treiber, mit EFI und UGA soll der Zugriff auf die Grafikkarte aber dem Betriebssystemdesign angepasst werden.
Des Weiteren ist VGA noch als Bezeichnung für die Auflösung 640 × 480 von Bedeutung, die für viele als die typische VGA-Auflösung gilt.
Abgeleitete Formate
Basierend auf 640 × 480 Pixel leiten sich einige kleinere Formate für PDAs etc. von VGA ab:
- QVGA (Quarter VGA): 320 × 240 Pixel
- 1/8 VGA (Eighth VGA): 240 × 180 Pixel
- QQVGA (Quarter QVGA): 160 × 120 Pixel
Für Breitbildschirme wurde außerdem informell WVGA (Wide VGA) geschaffen, was üblicherweise 848 × 480 Pixel oder 852 × 480 Pixel (~16:9) bedeutet; der exakte Breitenwert für eine Höhe von 480 Pixeln und einem Seitenverhältnis von 16:9 wäre 853,333 und lässt sich technisch nicht realisieren. Es sind auch Geräte mit einem Seitenverhältnis von 9:5 (18:10) und Auflösungen von 720 × 400 Pixel oder 864 × 480 Pixel auf dem Markt.