Video Graphics Array
- l`rby@
- Az@rbaycanca
- Belaruskaia
- B'lgarski
- Catala
- Cestina
- Dansk
- Ellenika
- English
- Espanol
- Eesti
- Euskara
- frsy
- Suomi
- Francais
- Galego
- hindii
- Hrvatski
- Bahasa Indonesia
- Islenska
- Italiano
- Ri Ben Yu
- Jawa
- K'azak'sha
- hangugeo
- mlyaallN
- Nederlands
- Norsk nynorsk
- Norsk bokmal
- Polski
- Portugues
- Romana
- Russkii
- Slovencina
- Srpski / srpski
- Svenska
- tmilll
- aithy
- Turkce
- Ukrayins'ka
- Tieng Viet
- Wu Yu
- Zhong Wen
Video Graphics Array (VGA) ist ein Computergrafik-Standard, der bestimmte Kombinationen von Bildauflosung und Farbanzahl (Farb-Bit-Tiefe) sowie Wiederholfrequenz definiert und 1987 von IBM eingefuhrt wurde.
Anders als seine Vorganger EGA und CGA war VGA anfangs als Ein-Zoll-Prozessor zur leichteren Integration auf Hauptplatinen konzipiert, aber nicht als eigener ,,Adapter". Ein unmittelbarer Vorlaufer war die Multi-Color Graphics Array (MCGA) genannte Onboard-Grafik des IBM PS/2 Model 30. Diese war nur mit 64 kB Videospeicher ausgestattet, was zwar den bei Spielen beliebten 256-Farben-Modus erlaubte, der daher auch ,,MCGA-Modus" genannt wurde, die VGA-typische Videoauflosung von 640x480 Pixeln jedoch nur monochrom (1 Bit pro Pixel) darstellen konnte. Auch fehlte dem MCGA die Kompatibilitat zur EGA-Karte.
Da auch alle modernen Grafikkarten immer noch kompatibel zu IBMs VGA sind, verwenden auch moderne Betriebssysteme noch den VGA-Grafikmodus, z. B. wahrend der Installation oder wenn kein zur Grafikkarte passender Treiber installiert ist.
Merkmale einer VGA-kompatiblen Grafikkarte
[Bearbeiten | Quelltext bearbeiten]Grundsatzliche Eigenschaften
[Bearbeiten | Quelltext bearbeiten]Die VGA-Funktionalitat setzt sich zusammen aus einem Videospeicher (RAM), einem Digital-Analog-Wandler und einer Prufschaltung, welche ermittelt, ob der angeschlossene Bildschirm eine farbige oder monochrome Darstellung unterstutzt.
Der 256 KB umfassende Videospeicher ist in vier Speicherbanke a 64 KB aufteilt, welche ,,ubereinander" im Adressraum des Mikroprozessors liegen. Befindet sich die VGA-Grafikkarte In einem Grafikmodus, konnen alle Pixel uber den Videospeicher angesprochen werden. In einem Textmodus wird der Code jedes darzustellenden Zeichens zusammen mit seinen Attributen wie bspw. ,,unterstrichen" oder ,,blinkend" im Videospeicher abgelegt. In diesem Fall wird die Darstellung jedes Zeichens durch einen Pixelblock mithilfe eines Zeichensatzes bestimmt, der ebenfalls im Videospeicher abgelegt ist.
In einem Nur-Lesespeicher (ROM) befinden sich drei vordefinierte Zeichensatze mit bzw. 8 x 8 Pixeln, 8 x 14 Pixeln und 8 x 16 Pixeln je Zeichen.
Die Farben werden indirekt mithilfe einer frei definierbaren Farbpalette generiert, die jedem Farbcode im Videospeicher eine Zahl von 0 bis 23x6 - 1 = 262143 zuordnet, die final die darzustellende Farbe durch den Digital-Analog-Wandler bestimmt. Dieser sendet im Fall eines angeschlossenen Farbbildschirms diesem drei der Farbe entsprechende analoge Farbsignale (Rot-, Grun und Blauanteil der Farbe).[1]
Hardware-Ebene
[Bearbeiten | Quelltext bearbeiten]- VGA-Anschluss mit analoger Ubertragung der RGB-Signalkomponenten (anders als bei EGA, ahnlich wie beim PGC), was (abhangig von der Karte oder Signalquelle) prinzipiell die Darstellung unendlich vieler Farben und Zwischenabstufungen in Verbindung mit einem geringen Schaltungsaufwand bei einem Rohrenmonitor erlaubt. Allerdings ist die Bildqualitat stark vom Schaltungsaufbau und der Bauteilequalitat der Karte sowie der anschliessenden Ubertragungskabel zur Bildrohre abhangig.
Anzeigemodi
[Bearbeiten | Quelltext bearbeiten]| Modus | Typ | Format | Farbanzahl |
|---|---|---|---|
| 0h | Text | 40 x 25 | 16 (monochrom) |
| 1h | Text | 40 x 25 | 16 |
| 2h | Text | 80 x 25 | 16 (monochrom) |
| 3h | Text | 80 x 25 | 16 |
| 4h | CGA-Grafik | 320 x 200 | 4 |
| 5h | CGA-Grafik | 320 x 200 | 4 (monochrom) |
| 6h | CGA-Grafik | 640 x 200 | 2 |
| 7h | MDA-Text | 80 x 25 | 3 (monochrom) |
| Dh | EGA-Grafik | 320 x 200 | 16 |
| Eh | EGA-Grafik | 640 x 200 | 16 |
| Fh | EGA-Grafik | 640 x 350 | 3 (monochrom) |
| 10h | EGA-Grafik | 640 x 350 | 16 |
| 11h | VGA-Grafik | 640 x 480 | 2 |
| 12h | VGA-Grafik | 640 x 480 | 16 |
| 13h | VGA-Grafik | 320 x 200 | 256 |
Als Textmodi werden vor allem 80 x 25 Zeichen (16 Pixelzeilen pro Zeichen) und 80 x 50 Zeichen (8 Pixelzeilen pro Zeichen) genutzt, beide mit einer zugrundeliegenden Bildauflosung von 720 x 400 Pixel.
Mode-X und Mode-Y
[Bearbeiten | Quelltext bearbeiten]| Modus | Typ | Format | Farbanzahl | Bemerkung |
|---|---|---|---|---|
| Mode-X | VGA-Grafik | 320 x 240 | 256 | Quadratische Pixel (Pixelseitenverhaltnis hat den Wert eins) |
| Mode-Y | VGA-Grafik | 320 x 200 | 256 | Langliche Pixel wie im Modus 13h (Pixelseitenverhaltnis ist kleiner als eins) |
Im Gegensatz zum einfacher zu programmierenden Modus 13h ist im Mode-X und Mode-Y Page Flipping moglich und es kann der gesamte Videospeicher verwendet werden. Das erlaubt es, fur den Bildaufbau Double Buffering zu verwenden oder oft benotige 2D-Grafiken als Sprites abzulegen, um auf diese schnell, wie bei einem Cache, zuruckzugreifen. Dies erlaubt performantere Animationen und die beim Mode-X quadratischen Pixel vereinfachen die Erstellung von Grafiken, bei denen es auf ein richtiges Seitenverhaltnis ankommt.
Der grosste Vorteil des Mode-X ist allerdings, dass er einen parallelen Zugriff auf vier Pixel gleichzeitig erlaubt, da bei Standard VGA die Hardware grundsatzlich in vier Speicherbanke bzw. Ebenen von je 64 KiB pro Speicherbank organisiert ist, wovon jede Ebene in vierer Schritten die Pixel in der Horizontalen abbildet. D.h. das erste Byte in Ebene 0 bildet bspw. den 0., 4., 8. und 12. Pixel ab, die Ebene 1 bildet den 1., 5., 9. und 13. Pixel ab. Man nennt diese Zugriffsart auch planaren Zugriff, dieser ist auch als unchained mode bekannt. Durch diesen parallelen Zugriff ist Mode-X viermal so schnell, wie Mode 13h, allerdings auch komplizierter zu programmieren.
Mode-X und Mode-Y unterscheiden sich in der Auflosung und beim Format der Pixel. Mode-X weist quadratische Pixel auf, wahrend im Mode-Y die Pixel hoher als breit sind, wie auch bereits im Modus 13h.[4][3][5]
Flexibilitat des VGA-Anschlusses
[Bearbeiten | Quelltext bearbeiten]Die Bildauflosung und Parameter der Bildausgabe uber den klassischen VGA-Anschluss lassen sich ziemlich frei einstellen. Trotzdem lassen sich TV-Rohrengerate prinzipiell nicht an einer Standard-VGA-Karte betreiben (kein CSync = erfordert Zusatzelektronik, etwas andere Pegel = erfordert Zusatzelektronik, kein Zeilensprung = nur 240...288 Zeilen-Darstellung moglich).
Fur herkommliche analoge VGA-Rohrenmonitore geeignet sind jedoch folgende Varianten:
- Pixelfrequenz: 28,322 MHz oder 25,175 MHz halbierbar.
- Zeilenfrequenz: 31,4688 kHz ist der Standardwert. Exakt 80 % der Zeilenzeit wird zur Bilddarstellung genutzt.
- Vollbilddarstellung.
- 70,08 Bilder/s bei maximal 400 sichtbaren Zeilen oder 59,94 Bilder/s bei maximal 480 sichtbaren Zeilen
- Die Anzahl der sichtbaren Zeilen lasst sich auf 350 Zeilen reduzieren. Dem Monitor wurde das durch Anderung der Polaritat des Sync-Signale ubermittelt (+hsync -vsync). Genutzt fur EGA-Simulation.
- Eine weitere Moglichkeit, die Auflosung zu verringern, besteht darin, Zeilen doppelt darzustellen - aus 480 Zeilen werden so 240 oder aus 400 Zeilen werden 200 Zeilen. Genutzt fur CGA-Simulation.
- Pro Zeile sind 640 oder 720 sichtbare Pixel ublich (je nach gewahltem Pixeltakt)
- Dieser lasst sich halbieren auf 320 bzw. 360 Pixel.
- Im 256-Farben-Modus wird der Pixeltakt ebenfalls immer halbiert.
- Speicheraufbau
- 64 kB x 32 bit, erweiterte Karten 128 kB x 32 bit.
- Grafikmodi lesen alle 8 Takte ein 32-Bit-Wort aus. Modi mit bis zu 16 Farben generieren daraus 8 Pixel. 256-Farben-Modi 4 Pixel.
- Bei Textmodi kommt ein zweiter Zugriff fur das Auslesen der Zeichenreprasentation dazu.
Der Fortschritt des VGA-Anschlusses war die analoge Ubertragung des Signals zum Monitor. Damit uberwand man das Manko des CGA-Anschlusses bzw. EGA-Anschlusses, die prinzipiell nur 16 bzw. 64 Farben (bei SW: 3 bzw. 4 Graustufen) ubertragen konnten. VGA-Anschlusse konnten theoretisch beliebig viele Farben anzeigen, Standard-VGA-Karten haben 262144 davon genutzt.
Erst ein Jahrzehnt spater hat sich die analoge Ubertragung als Manko herausgestellt. Fur TFT-Displays mit einzeln ansteuerbaren Pixeln fuhrt sie bei hohen Auflosungen (spatestens bei 1600x1200 Pixeln) zu Unscharfe und Unruhe (Moire) im Bild. Die Nachfolger heissen DVI-D, HDMI und DisplayPort. HDMI ist eine Weiterentwicklung von DVI; HDMI-Signale sind zu DVI abwartskompatibel.
Kompatibilitat zu MDA-, CGA- und EGA-Karten
[Bearbeiten | Quelltext bearbeiten]VGA war weitgehend abwartskompatibel zu allen bisherigen IBM-Grafikkarten fur PCs; beim Zugriff uber das BIOS war die Kompatibilitat besonders hoch, aber auch bei direkter Registerprogrammierung funktionierten die meisten Programme weiterhin. Insbesondere musste der Benutzer nicht mehr zwischen Farbfahigkeit (CGA, EGA) und hoher Textqualitat (MDA) wahlen. Fur VGA wurden von Anfang an sowohl monochrome (meist weisse) als auch farbige Monitore angeboten.
Farbpaletten
[Bearbeiten | Quelltext bearbeiten]CGA bot 16 feststehende Farben. EGA bewahrte die CGA-Kompatibilitat und erlaubte trotzdem 64 Farben in allen Modi, indem die 16 Farbnummern der CGA als Zeiger auf eine sogenannte Palette, eine Tabelle mit 16 Eintragen, interpretiert wurden; die Eintrage der Palette enthielten dann die EGA-Farbnummern im Bereich 0 bis 63. Beim Start des Systems wurden dort Farbnummern eingetragen, die den gleichen Farbeindruck wie die 16 CGA-Farben boten; Programme, die den EGA-Standard kannten, konnten die Eintragungen aber andern. Somit konnten zwar weiterhin nur 16 Farben gleichzeitig dargestellt werden, aber aus einer Gesamtmenge von 64 Farben.
VGA-Grafikkarten unterstutzen 262.144 mogliche Farben. Bei VGA-Karten existiert die erwahnte Palette mit 16 Eintragen ebenfalls - die darin enthaltenen Werte im Bereich 0 bis 63 werden aber im Gegensatz zu EGA nicht direkt als Farbnummern, sondern wiederum als Zeiger auf die ersten 64 Eintrage einer weiteren Tabelle interpretiert. Diese VGA-Farbpalette hat nun 256 Eintrage im Bereich von 0 bis 262143. Auch hier werden beim Start in die ersten 64 Eintrage solche VGA-Farben eingetragen, die den 64 EGA-Farben optisch gleichen, aber von Programmen, die VGA kennen, verandert werden konnen. Durch dieses zweistufige Verfahren konnen auch in den CGA- und EGA-kompatiblen Modi der VGA alle VGA-Farben dargestellt werden, allerdings weiterhin nur jeweils 16 davon gleichzeitig. Im 256-Farb-Grafikmodus werden die Daten im Bildschirmspeicher dagegen direkt als Zeiger auf die 256-Eintrage-Tabelle interpretiert und die 16-Eintrage-Tabelle nicht verwendet.
Bei einigen CGA-kompatiblen Modi verwendet VGA sogar eine dreistufige Palette, da auch die CGA-Karte in diesen Modi bereits eine, allerdings nicht frei wahlbare, Palette von 2 oder 4 aus 16 Farben verwendet hatte.
Textmodus
[Bearbeiten | Quelltext bearbeiten]VGA-Grafikkarten stellen den Textmodus mit 720 Punkten pro Zeile dar, wie schon die MDA-Karte, aber im Gegensatz zu CGA und EGA, die 640 Punkte verwenden. Jedes der 80 Zeichen pro Zeile wurde im Vergleich zu CGA/EGA um einen Pixel auf 9 Pixel verbreitert, damit erhoht sich der Zeichenabstand und somit die Lesbarkeit. Da im Zeichenspeicher jedoch weiterhin nur acht Spalten gespeichert waren, wurde das 9. Pixel entweder leer gelassen oder durch Wiederholung des 8. Pixel erzeugt. Die Entscheidung daruber wird nach der Nummer des Zeichencodes getroffen - die Zeichen 0xC0 bis 0xDF, welche in der Codepage 437 Blockgrafikzeichen mit Anschluss nach rechts enthalten, benutzen die Wiederholung des 8. Pixels, bei den anderen ist die 9. Spalte immer leer. Dadurch ergeben sich auch die typischen vertikalen Streifen bei einigen Programmen (wie z. B. Turbo Pascal ab Version 6), die den Hintergrund mit Grauzeichen fullen. Fur die Verwendung von anderen Codepages, die in den Positionen 0xC0 bis 0xDF gewohnliche Druckzeichen enthalten, kann die Wiederholung des 8. Pixels auch komplett abgeschaltet werden (diese Moglichkeit gab es bei der MDA, deren Codepage unveranderlich auf die 437 festgelegt war, noch nicht).
Wie schon bei der EGA-Karte steuert das Bit 3 des Attribut-Bytes die Auswahl aus zwei Zeichensatzen. Somit ist es mit benutzerdefinierten Zeichensatzen moglich, bis zu 512 verschiedene Zeichen gleichzeitig im Textmodus darzustellen.
Der eingebaute Zeichengenerator unterstutzt benutzerdefinierte Zeichensatze, die 1 bis 32 Pixel hoch sein konnen. Wahrend die ublichen benutzerdefinierten Zeichensatze die ublichen Zeichengrossen von 8x8, 8x14 oder 8x16 Pixeln benutzen, existieren auch kleinere Schriften, die etwa bei 5 Pixel hohen Zeichen bis zu 96 Zeichenzeilen erlauben wurden, die aber kaum noch lesbar sind.
Mit 1 oder 2 Pixel hohen ,,Schriften" lassen sich im Textmodus (pseudo)grafische Effekte erzielen, die allerdings auch zur Blutezeit der Grafik-Spielereien unter DOS nur selten genutzt worden sind, da im Textmodus nur 16 Farben zur Verfugung stehen und die 256-Farben-Grafikmodi deutlich bessere Effekte ermoglichten.
Grafik-BIOS
[Bearbeiten | Quelltext bearbeiten]Wie schon die EGA-Karten benutzen auch VGA-Karten ein eigenes Grafik-BIOS, um die VGA- und auch EGA-Grafikfunktionen des Adapters fur Anwenderprogramme zuganglich zu machen, ohne dass diese die komplizierte Registerprogrammierung selbst durchfuhren mussen. Dies ist notwendig, da das System-BIOS eines PCs in der Regel lediglich MDA und CGA unterstutzt. Wie bei SCSI-Steuergeraten und Netzwerkkarten mit Boot-ROM wird der Maschinencode in den fur Zusatzkarten reservierten Adressraum des Prozessors zwischen 640 und 960 Kibibyte, im so genannten konventionellen Arbeitsspeicher, eingeblendet. Hier konnen die Programme dann auf die VGA- (und EGA-) Routinen der Grafikkarte zugreifen. Teilweise werden auch Grafikroutinen des System-BIOS auf angepassten Code der Grafikkarte umgelenkt, um die Kompatibilitat zu alteren Programmen zu gewahrleisten.
Auf den Nachfolgern der IBM-PC-kompatiblen Computer mit UEFI als System-Firmware, die zwischen 2010 und 2020 PCs mit dem klassischen BIOS ablosten, findet sich weiterhin Grafik-Firmware, die jedoch nicht mehr direkt von Programmen angesprochen wird, sondern uber eine standardisierte Programmierschnittstelle (API), u. a. GOP (UEFI), OpenGL/Vulkan (plattformubergreifend), DirectX (Windows) oder Metal (macOS).
Geschichte
[Bearbeiten | Quelltext bearbeiten]Entwicklung
[Bearbeiten | Quelltext bearbeiten]Die heutigen Grafikkarten fur IBM-kompatible PCs sind haufig zumindest teilweise VGA-kompatibel. Von 1981 bis etwa 1990 setzte IBM die Standards dieser Architektur, so auch bei Grafikkarten. Aufgrund der Fahigkeiten und Architektur des seinerzeit meistverwendeten Betriebssystems DOS (benotigt lediglich Textmodus, keine Multitaskingfahigkeit) war es damals daher notwendig, dass Peripherie und Erweiterungskarten zum jeweiligen gangigen Industriestandard hardwarekompatibel sein mussten, da die Software die Erweiterungskarte oder Peripheriekomponente direkt programmierte. Mit der Zeit ergab sich aber das Problem, dass die Farbtiefen und Auflosungen und deren Ansteuerung lediglich bis zum VGA-Standard definiert waren. Mit dem einsetzenden Siegeszug des PC Ende der 1980er Jahre nahm die Anzahl der Hersteller fur PC-Grafiklosungen auf dem Markt stark zu, und der Preis fur Grafikkarten sank. IBM verlor seine Markt- und Standardisierungsmacht. Um sich von der Konkurrenz abzuheben, begannen zahlreiche Hersteller (z. B. Genoa Systems, Trident Microsystems, Hercules u. v. m.), den VGA-Standard mit eigenen Entwicklungen (bzw. VGA-Grafik-BIOS-Erweiterungen) zu erweitern. So boten mit der Zeit die meisten Grafikkarten die Moglichkeit, Auflosungen bis 1024x768 oder daruber in High- oder True Color darzustellen. Auch wurden mit dem Aufkommen von grafischen Benutzeroberflachen wie Windows erste Funktionen zu deren Beschleunigung implementiert, wie das Zeichnen und Fullen von Rechtecken und Flachen in Hardware durch die Grafikkarte. Allerdings waren all diese erweiterten, uber VGA hinausgehenden Funktionen nicht standardisiert und unterschieden sich zum Teil je nach Grafikkarte. Daher musste zunachst jede Software, die diese Funktionen nutzen wollte, ihre eigenen Grafikkartentreiber mitbringen (Beispiel: MS Flugsimulator 5.0). Fur wichtige Anwendungen wie Windows 3.1, teilweise AutoCAD, wurden aber auch seitens der Grafikchiphersteller Treiber zur Verfugung gestellt. Vor allem bei gunstigen Nicht-Standard-Grafikkarten war dies aber auch nicht immer der Fall, und daher beschrankte sich die Software unter DOS meist auf VGA.
Spiele bis 1994 sind daher meist auch auf den 320 x 200 x 8-VGA-Modus beschrankt (Mode 13h). Beispiele sind Doom 1, Worms oder Wolfenstein 3D. In grafischen Betriebssystemen wie bspw. Windows NT oder OS/2 war immer ein VGA-Treiber fur den standardisierten VGA-Modus der einzig verfugbare, wenn noch kein hardwarespezifischer Grafiktreiber installiert wurde.
Um hohere Auflosungen und deren Programmierung zu vereinheitlichen, wurden Anfang der 1990er Jahre von der VESA die Auflosungen bis 1280x960 in 256 Farben und deren BIOS-APIs normiert. Diese VESA-Erweiterungen wurden darauf auch zugig von den Grafikchipherstellern ubernommen und in die VGA-BIOSe eingepflegt. Die VESA-Erweiterungen erschienen in mehreren Versionen, aktuell ist Version 3.0. Die VGA-BIOS-Chips waren meist als ROM ausgefuhrt, so dass sich die Grafikkarten selbst nicht auf eine neue VESA-BIOS-Version aufrusten lassen. Durch die Verwendung von TSR-Programmen, welche gewissermassen als ,,VESA-Wrapper" dienen, lassen sich unter DOS neue VESA-Erweiterungen auf Systemen nutzen, welche uber eine entsprechend leistungsfahige, aber zur benotigten VESA-Version inkompatible Grafikkarte besitzen. Diese TSR-Programme stellen die VESA-Erweiterungs-Routinen zur Verfugung und ubersetzen sie fur die Grafikkarte. Neben herstellerspezifischen Wrappern gibt es auch Universalwrapper wie UNIVESA.EXE oder UNIVBE.EXE. Diese wurden oft verwendet, um die VESA-Erweiterungen der Version 2.0 auf Systemen nachzurusten, deren Grafikkarten lediglich VESA 1.0 unterstutzen. Erst Mitte der 1990er Jahre hatten sich die mit den VESA-Erweiterungen kompatiblen Grafikkarten soweit durchgesetzt, dass sie von den Spieleherstellern zunehmend unterstutzt wurden. Auch war mit dem Erscheinen der ersten Pentium-Prozessoren auf dem Massenmarkt genug Rechenleistung vorhanden, um auch in den VESA-Modi, selbst mit Wrapper eine flussige Grafikdarstellung in aufwandigen DOS-Spielen wie Wing Commander 3 oder The Need for Speed erreichen zu konnen. In der Shareware-Szene wurde allerdings noch langere Zeit auf den Mode 13h (320x200, 256 Farben) gesetzt, da hier eine Bildschirmseite ziemlich genau 64 kB benotigt. Dies ist in zahlreichen verbreiteten gunstigen Real-Mode-Compilern wie Turbo Pascal die maximal erlaubte Grosse fur Datenstrukturen im Arbeitsspeicher; Mode-13h-Bildschirmseiten sind unter solchen Compilern daher vergleichsweise einfach zu handhaben. Trotz der VESA-Erweiterungen wird unter Windows bis einschliesslich Version 7 ein Standard-VGA-Treiber eingerichtet, solange kein herstellerspezifischer Treiber verfugbar ist, im Gegensatz beispielsweise zu Linux und BSD oder neueren Windows-Versionen. Bei letzterem nennt sich der generische Treiber nun Microsoft Basic Display Adapter und unterstutzt auch hohe Auflosungen, jedoch ohne spezifische Beschleunigungsfunktionen.
In der zweiten Halfte der 1990er Jahre setzten sich Windows 95 und 98 zunehmend durch. Windows 95 und seine Nachfolger bieten mit DirectX und OpenGL Betriebssystemschnittstellen, mit denen Anwendungen definierte Funktionen von Grafikkarten ansprechen konnen. Windows gibt dabei standardisierte Funktionsaufrufe sofort an den Grafiktreiber weiter, der sie in Befehle fur die Grafikkarte umsetzt. Somit sind ein Grossteil der Funktionen von Grafikkarten aus Windows fur alle Arten von Programmen einheitlich ansprechbar. Ein zu einem bestimmten Hardwarestandard kompatibles Grafik-BIOS ist unter Windows prinzipiell nicht mehr erforderlich. Eine direkte Programmierung der Grafikkarte wie unter DOS ist unter Windows ohnehin nicht moglich, da Windows multitaskingfahig ist und fur die Benutzeroberflache selber die Grafikkarte benotigt. Um etwaige Konflikte durch gleichzeitige Zugriffe von verschiedenen Programmen zu vermeiden, laufen Hardwarezugriffe unter Windows daher grundsatzlich koordiniert uber das Betriebssystem und dessen Geratetreiber. Die DirectX-Treiber ermoglichen im Gegensatz zum Grafik-BIOS komplexere Funktionen und sprechen den Chip in der Regel direkt uber seine Register an. Das Upgrade von Funktionen wird durch den Verzicht auf die Routinen des recht starren VGA-Grafik-BIOS wesentlich erleichtert. DirectX-Treiber ermoglichen im Gegensatz zum Grafik-BIOS komplexere Funktionen. Die Steuerung der Grafikkarte erfolgt hauptsachlich durch den Windows-Treiber. Das Programmieren aufwandigerer Grafiken wird vereinfacht, da die Abstraktionsebene hoher liegt und z. B. ein wesentlicher Teil der Darstellung einer virtuellen Welt im Gegensatz zu fruher von Grafiktreiber und Grafikkarte ubernommen werden kann. Dies eroffnet zahlreiche Moglichkeiten, die Grafikdarstellung durch bestimmte Schaltungen im Grafikchip zu beschleunigen. Auch die Portierbarkeit auf andere Plattformen wird durch den hohen Abstraktionsgrad erleichtert. Allerdings nimmt dadurch auch die Komplexitat des Grafikchips und des Grafiktreibers zu. Die vergleichsweise einfachen Grafikchips, welche bislang hochstens uber einige Beschleunigungsfunktionen fur grafische Benutzeroberflachen verfugten (z. B. Fullen von Rechtecken, Zeichnen von Linien durch die Hardware), wurden mit der breiten Verfugbarkeit von Windows 95 ff. und Direct3D zu hochkomplexen Grafikprozessoren mit Fahigkeiten zur beschleunigten Darstellung dreidimensionaler Welten weiterentwickelt. Zahlreiche bekannte Grafikchiphersteller aus den 1990er Jahren konnten mit dieser Entwicklung nicht Schritt halten und sind mittlerweile aus dem Markt verschwunden.
Aufgrund des hohen Alters des VGA-Standards und den damit einhergehenden Limitierungen des Designs war es ein Anliegen verschiedener Hersteller wie Intel oder ATI, den VGA-Standard durch den von Microsoft geforderten UGA-Standard (Universal Graphics Adapter) zu ersetzen. Immerhin wurde die VGA-Karte in den mittleren 1980ern fur den ISA-Bus entwickelt, was gerade fur moderne Betriebssysteme eine Schwierigkeit darstellt, da VGA somit zu den Errungenschaften des geschutzten Speichermodells (Protected Mode) inkompatibel ist.
Das erklarte Ziel von UGA, das mit EFI-Version 1.1 eingefuhrt wurde, war es, die grafischen Mindestleistungen von 640 x 480 x 4 auf 800 x 600 x 32 anzuheben, das Speichermodell der Grafikkarte zu vereinfachen (durch 32-Bit-Zugriff sowie die Abschaffung der Paletten und des Textmodus) und einen plattformunabhangigen Zugriff auf die Grafikkarte uber EFI-Treiber zur Verfugung zu stellen. Kritischer, plattformabhangiger Code sollte damit reduziert werden. In UEFI ab Version 2.0 wurde UGA gestrichen und durch das einfachere und modernere GOP (Graphics Output Protocol) ersetzt, dem jedoch im Gegensatz zu UGA der Textmodus fehlt. EFI-Treiber sowohl fur UGA als auch fur GOP sind jedoch kein Ersatz fur Betriebssystem-spezifische Treiber, ermoglichen aber bereits an hochauflosende Displays angepasste Grafikmodi in der Firmware selbst (etwa fur das ,,BIOS-Setup") sowie bei der Installation von Betriebssystemen und dienen meist als Fallback-Option, wenn spezifische Treiber fur die jeweilige Grafikkarte fehlen.
Nach den Planen von AMD, Intel, LG und weiteren Rechner- und Bildschirm-Herstellern, soll der VGA- sowie auch der LVDS-Anschluss spatestens im Jahr 2015[veraltet] nicht mehr hergestellt werden. An dessen Stelle sollen die digitalen Ausgange DisplayPort oder HDMI verbaut werden.[6]
Heutige Bedeutung
[Bearbeiten | Quelltext bearbeiten]Unabhangig von dieser ursprunglichen Vielfalt von Auflosungen steht ,,VGA-Auflosung" inzwischen meist fur die Auflosung von 640 x 480 Pixeln, etwa bei Spezifikationen fur Displays oder Smartphones, wobei meist hohere eine Pixeltiefe bzw. Farbauflosung bis 32 Bit genutzt wird, die ursprunglich nicht zur Verfugung standen. Von der VGA-Auflosung von 640 x 480 Pixeln leiten sich weitere Formate z. B. fur PDAs ab. Eine Auflistung findet sich unter Bildauflosung#Standards.
Literatur
[Bearbeiten | Quelltext bearbeiten]- Mathias Uphoff: Programmierung der EGA/VGA-Grafikkarte. Addison-Wesley, 1990, ISBN 3-89319-274-3.
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- | Section 2. VGA Function. (PDF; 659 kB) In: mcamafia.de. IBM Corp., 1992, abgerufen am 21. Marz 2024 (englisch).
- | Fabien Sanglard: Game Engine Black Book - Wolfenstein 3D. 2.2. uberarbeitete Auflage. 15. Dezember 2022, 2.3 Video (englisch).
- | a b Fabien Sanglard: Game Engine Black Book - Wolfenstein 3D. 2.2. uberarbeitete Auflage. 15. Dezember 2022, 4.5.2 Solving the VGA Problem (englisch).
- | Michael Abrash: Chapter 48 - Mode X Marks the Latch. In: Phat Code. 2001, abgerufen am 21. Marz 2024 (englisch).
- | Mode Y. In: Google Groups. 17. August 1993, abgerufen am 21. Marz 2024 (englisch).
- | VGA-Buchse zum Aussterben verurteilt. heise online, 10. Dezember 2010