91
Die PC-Komponenten
Neben dem eigentlichen Acceleratorchip befindet sich auf einer Beschleuniger-
karte, wie auch auf einer Standard-VGA-Karte, ein D/A-Wandler (RAMDAC), der die
digitale Information in die RGB-Werte (Rot, Grün, Blau) für den angeschlossenen
Monitor umsetzt. Des Weiteren sind noch Chips für die Adressendekodierung nötig
und natürlich ein RAM für die Grafikdaten. Für dieses RAM werden auf einer Stan-
dard-VGA-Karte »normale« dynamische RAMs (DRAMs) verwendet.
Ein DRAM verfügt über einen einzigen Datenport zur Kommunikation mit der CPU
und dem RAMDAC. Das heißt, dass entweder Daten vom Bus empfangen oder Daten
zum RAMDAC ausgegeben werden. Der Grafikchip sorgt dabei für die Umschaltung
der »Datenwege«, wodurch die Geschwindigkeit der Grafikausgabe beeinflusst wird.
Auf Grafikkarten sind auch VRAMs (Video RAMs) gebräuchlich, die prinzipiell einen
schnelleren Datentransfer als DRAMs ermöglichen. VRAMs enthalten einen DRAM-
Kern, der genauso wie ein herkömmliches DRAM aufgebaut ist. Daneben enthält ein
VRAM ein Serial Access Memory – SAM –. Das SAM ist ein 8 Bit breiter serieller Port,
der mit einem eigenen Takt arbeitet, der praktisch dem Pixeltakt des RAMDACs ent-
spricht und demnach nach außen hin unabhängig vom integrierten DRAM arbeiten
kann.
Bild 1.54: Eine Beschleunigerkarte mit VRAMs kann gleichzeitig neue Daten vom Bus empfangen
und Daten zum RAMDAC ausgeben
Teil
1
· PC-Grundlagen
92
Über den PC-Bus (ISA, PCI) wird das DRAM mit Daten gefüllt, und gleichzeitig kann
das SAM die vorigen Daten zum RAMDAC ausgeben. Über eine serielle Datenleitung
des SAM wird üblicherweise 1 Byte (nacheinander) zum RAMDAC gesendet. Ein
RAMDAC mit einer Bitbreite von 64 Bit verfügt demnach über acht serielle Eingän-
ge, wie beispielsweise der Typ BT489 der Firma Brooktree, deren RAMDACs auf
zahlreichen Grafikkarten zu finden sind. Der weit verbreitete Typ BT489 ist ab-
wärtskompatibel mit den Vorgängertypen BT484 und BT485 und kann mit einem
maximalen Pixeltakt von 200 MHz arbeiten.
Ein typischer Wert für die VRAM-Datenbandbreite, die angibt, wie viele Bytes pro
Sekunde zwischen Grafikchip und VRAM bzw. VRAM und RAMDAC übertragen wer-
den können, beträgt ca. 90 MBps (Mbytes per Second) für jeden der beiden Daten-
ports.
Da VRAMs einen höheren Preis (Faktor 2) gegenüber den Standard-DRAMs haben,
gehen einige Hersteller einen anderen Weg zur schnelleren Grafikausgabe mit DRAMs.
Die Firma Tseng Labs verwendet beispielsweise bei der ET4000W32i-Karte das Prin-
zip des Speicher-Interleavings (siehe auch Kapitel über Speicherbausteine)
Die dynamischen RAMs werden in zwei Bänken organisiert, wobei in der einen der
Inhalt der geraden und in der anderen der Inhalt der folgenden (ungeraden) Adresse
gespeichert wird. Somit kann bereits ein Byte zum RAMDAC ausgegeben werden,
während das folgende bereits von der CPU adressiert wird. Ein typischer Wert, der
mit dieser Konfiguration auf der ET4000 W32i-Karte erreicht werden kann, beträgt
ca. 160 MBps.
Die DRAM-Interleaving-Arbeitsweise bietet ferner den Vorteil, dass die DRAM-
Konfiguration entsprechend der gewählten Auflösung per Software (Treiber) opti-
miert werden kann. Bei der konventionellen VRAM-Arbeitsweise ist hingegen keine
flexible Einstellung möglich. 90 MBps werden für die Aufnahme neuer Daten (Rich-
tung: Bus-Chip) verwendet, und ebenfalls 90 MBps sind für den Datentransfer zum
RAMDAC festgelegt.
Für die Arbeitsweise mit DRAM-Interleaving kann das folgende einfache Beispiel
gelten. Wird Windows beispielsweise in einer Auflösung von 1024 x 768 Pixel mit
16 Farben betrieben, ist hierfür eine Datenbandbreite von ca. 60 MBps nötig. Es
bleiben daher bei der ET4000-W32i-Karte 100 MBps für die Datenübertragung vom
Chip zum RAMDAC übrig. Das optimale Verhältnis festzulegen, ist die Aufgabe des
Softwaretreibers, der zur Karte mitgeliefert wird.
Eine noch höhere Datenbandbreite erhält man, wenn VRAMs im »Interleaving«
betrieben werden, wie es die Firma Weitek mit dem Power-9000-Chip praktiziert.
Die Datenbandbreite kann hier bis zu 200 MBps betragen.
Allerdings wird man Angaben zur Datenbandbreite in den Werten zu einer Grafik-
karte eher selten finden, denn dies ist die theoretisch mögliche Rate, die der Grafik-
chip unter optimalen Bedingungen realisieren kann. Welchen Weg der Kartenher-
steller bei seinem Design beschritten hat, steht demgegenüber auf einem anderen
Blatt. Letztendlich sind hier die im Monitorkapitel (1.6.1) erläuterten Parameter
wie der Pixeltakt ausschlaggebend.
Neben DRAM und VRAM-Bausteinen sind auf Grafikkarten auch Speicherchips zu
finden, die als EDO-DRAM, SGRAM oder WRAM bezeichnet werden. Näheres zu die-
sen Bausteinen, wie auch allen anderen Speicherchips, findet sich im Teil 4 unter
Speicherbausteine und Module.
93
Die PC-Komponenten
Der Speicher auf einer Grafikkarte kann grundsätzlich in unterschiedlicher Bit-
breite organisiert sein. Zum Bus des PC hin sind 16 Bit bei ISA oder 32 Bit bei PCI
üblich, eben die maximal mögliche Adressierungsbreite, die das jeweilige Bussystem
hergibt. Zur anderen Seite hin – zum RAMDAC – sind 32 Bit heutzutage unterer
Standard; vielmehr sind hier 64 Bit wie etwa bei der bekannten Grafikkarte MACH64
der Firma ATI oder dem S3-Chip Vision864 üblich, der sich auf zahlreichen Grafik-
karten unterschiedlicher Hersteller finden lässt.
Bild 1.55: Die bekannte Grafikkarte MACH 64 der Firma ATI arbeitet mit einem eigenen ATI-Grafik-
chip und einem 64 Bit RAMDAC (Palette DAC)
Je breiter der Bus zwischen dem Grafikchip und dem Bildspeicher ausgeführt ist,
desto schneller lassen sich die Bilder aufbauen, wobei der Grafikchip explizit für
die jeweilige Bitbreite entwickelt sein muss. Insbesondere 3D-Anwendungen profi-
tieren von den höheren Bitbreiten, wobei zur Zeit 128 Bit üblich sind, wie es etwa
mit dem Chip RIVA 128 der Firma NVidea praktiziert wird, der mit SGRAM arbeitet.
Des Weiteren hängt es vom Schaltungsdesign der Grafikkarte ab, in welcher Form
der Speicher organisiert ist, was nicht immer einfach festzustellen ist. Es kann
beispielsweise der Fall sein, dass eine Grafikkarte mit 8 Mbyte erst mit einer Aufrü-
stung weiterer 8 Mbyte ihre Qualitäten zeigen kann, weil der Chip dann in 128 Bit-
Breite auf den Speicher zugreift, während er dies ansonsten mit 64 Bit erledigen
muss, was zu Lasten der Verarbeitungsgeschwindigkeit geht.
Auch ein Grafikchip mit 128 Bit muss nicht zwangsläufig in dieser Breite arbeiten! Es
hängt generell vom Design der Grafikkarte ab, welches auch bei identischem Grafik-
chip von Kartenhersteller zu Kartenhersteller variieren kann, bei welcher Speicher-
größe des Grafik-RAM sich eine optimale Performance ergibt.
Teil
1
· PC-Grundlagen
94
Das Bild 1.56 zeigt, dass der Speicher beispielsweise bei einer Grafikkarte mit dem
Chip Vision964 der Firma S3 auf unterschiedliche Art und Weise aufgebaut sein
kann. Die maximal mögliche 64-Bit-Datenbreite wird nur dann erreicht, wenn bei-
de VRAM-Bänke bestückt sind, andernfalls erhält man lediglich einen 32-Bit-Daten-
zugriff. Auch wenn auf dieser Seite – zwischen Grafikchip und VRAM – 64 Bit
gegeben sind, besagt dies noch nicht, dass die andere Seite – vom VRAM zum
RAMDAC – ebenfalls in dieser Breite ausgeführt ist, sondern sie kann auch größer
(128 Bit) oder kleiner (32 Bit) sein.
Bild 1.56: Die Applikation einer Grafikkarte mit »S3 Vision964« lässt einige Optionen für die
Realisierung des Grafikspeichers offen
Aus diesen Erläuterungen wird ersichtlich, dass Grafikkarten verschiedener Her-
steller, die alle auf dem gleichen Grafikchip basieren, nicht zwangsläufig die glei-
che Performance erreichen können, wenn sich die Speicherarchitektur unterschei-
det. Der zweite Punkt für unterschiedliche Qualitäten von scheinbar identischen
Grafikkarten ist in der Verwendung der jeweiligen RAMDACs zu sehen, denn sie
sind ein ganz gewichtiger Kostenpunkt. Je höher die maximale Pixelrate sein kann,
desto teurer ist auch der RAMDAC. Das Bild 1.57 zeigt einen direkt zum S3 Visi-
on964 passenden RAMDAC, den Typ 86708 der Firma S3.
Das Innenleben des RAMDAC lässt erkennen, dass für jede Farbe (Analog Red, Ana-
log Green, Analog Blue) ein eigener 8-Bit-A/D-Umsetzer vorhanden ist, wobei die
digitalen Farbsignale über einen Multiplexer (Mux) geschaltet werden.
Für die Steuerung jeder Farbe ist vor dem Multiplexer (Mux) ein separater Speicher
(Palette RAM) vorhanden, damit die Daten vom CPU-Bus-Interface zeitsynchron
mit den vom Grafikspeicher gesendeten Pixeladressen (PA 15:0) zu verarbeiten
sind. Dieser Schaltungsteil wird als color look-up table (CLUT) bezeichnet und bei
True Color (24 Bit) schaltungstechnisch umgangen (bypass).
In Abhängigkeit von der jeweiligen Auflösung und der Geschwindigkeit der einge-
setzten Speicherbausteine, können Pixel- (PCLK) und Speicher-Takt (CLK) unab-
hängig festgelegt werden, was eine weitgehend optimale Pixelrate ermöglicht, die
bei diesem Typ bei 135 MHz liegt und eine Auflösung von 1280 x 1024 Bildpunkten
mit einer Bildwiederholrate von 75 Hz gestattet.
95
Die PC-Komponenten
Bild 1.57: Der interne Aufbau eines RAMDAC zeigt die Verarbeitung der Grafikinformation
1.7.7 Grafikauflösungen und Speicherbedarf
Aktuelle Grafikkarten werden mit so viel Speicher (mindestens 8 Mbyte, typisch
16 Mbyte) ausgeliefert, wie vor gar nicht langer Zeit als Hauptspeicher in PCs
eingebaut wurde. Das Aufrüsten des Speichers einer Grafikkarte ist daher nur noch
bei älteren Modellen sinnvoll, wobei die Anschaffung einer neuen Grafikkarte –
mit mehr Speicher als die alte – demgegenüber aber vielfach preiswerter kommt.
Indes mag es erstaunlich sein, wie wenig Speicher man eigentlich für bestimmte
Auflösungen benötigt, wie es die folgende Tabelle zeigt:
Auflösung (Bildpunkte) Farbanzahl Grafikspeicher (Minimum)
640 x 480 16 256 Kbyte
640 x 480 256 512 Kbyte
640 x 480 65536 1 Mbyte
640 x 480 16,7 Mio. 1 Mbyte
800 x 600 16 256 Kbyte
800 x 600 256 512 Kbyte
800 x 600 65536 1 Mbyte
800 x 600 16,7 Mio. 1,5 Mbyte
1024 x 768 16 512 Kbyte
1024 x 768 256 1 Mbyte
1024 x 768 65536 2 Mbyte
1024 x 768 16,7 Mio. 2,5 Mbyte
Teil
1
· PC-Grundlagen
96
Fortsetzung der Tabelle:
Auflösung (Bildpunkte) Farbanzahl Grafikspeicher (Minimum)
1280 x 1024 16 1 Mbyte
1280 x 1024 256 1,5 Mbyte
1280 x 1024 65536 3 Mbyte
1280 x 1024 16,7 Mio. 4 Mbyte
Tabelle 1.12: Der Grafikspeicherbedarf in den üblichen Abstufungen für verschiedene Auflösungen
Der Grafikspeicher lässt sich generell nicht in beliebigen Stufen aufrüsten, sondern
in bestimmten Schritten, was jeweils vom Typ der Grafikkarte abhängt. Der Spei-
cherbedarf einer Grafikkarte kann allgemein nach der folgenden Formel berechnet
werden:
Speicherbedarf (in Byte) = Auflösung * Bitbreite für die Farbanzahl
8
Die »Bitbreite für die Farbanzahl« – auch als Farbtiefe bezeichnet – gibt dabei an,
wie viele Bit nötig sind, um jeweils die gewünschte Anzahl an Farben zu erhalten
(siehe auch folgende Tabelle). Wird eine Farbtiefe von mindestens 24 Bit verwen-
det, spricht man vom True-Color-Modus.
Farbtiefe Anzahl der Bits
21
42
16 4
256 8
65536 16
16,7 Mio. 24
Tabelle 1.14: Der Zusammenhang zwischen der Farbtiefe und der hierfür nötigen Anzahl der Bits. Zur
Darstellung von 65.536 Farben werden beispielsweise 16 Bit benötigt (2
6
)
Für die True-Color-Darstellung (24 Bit) bei einer Auflösung von 1280 x 1024 Bild-
punkten (Pixeln) errechnet sich der Speicherbedarf (1 Kbyte = 1024 Byte) mit der
obigen Formel wie folgt:
1280 x 1024 x 24 =
3932160 Byte = 3840 Kbyte = 3,75 Mbyte
8
97
Die PC-Komponenten
Der Speicher müsste demnach über eine Kapazität von 4 Mbyte verfügen, da dies
einer standardisierten Größe des Grafikspeichers entspricht. Eine Erweiterung des
Grafikspeichers – beispielsweise von 4 Mbyte auf 8 Mbyte – bedeutet auch einen
Geschwindigkeitszuwachs bei der Bilddarstellung, da sich dadurch quasi die Daten-
übertragungsrate erhöht, weil größere Teile der Grafikinformation im Speicher der
Grafikkarte lokalisiert sind und nicht erst über den (PCI-)Bus geladen werden müs-
sen.
Das Erweitern des Grafikspeichers hat nicht nur höhere Auflösungen zur Folge, son-
dern kann auch für eine schnellere Grafikverarbeitung sorgen.
Bild 1.58: Die Grafikkarte ATI 3D Rage verwendet, wie viele andere Modelle auch, ein SO-DIMM
(rechts) als Grafikspeicher
Der Grafikspeicher ist bei den verschiedenen Karten unterschiedlich aufgebaut und
kann oftmals auch nur mit den speziell hierfür ausgelegten Modulen oder Chips
erweitert werden. Einen gewissen Standard stellen immerhin die SO-DIMMs dar, die
auch in Notebooks verwendet werden. Auf einigen – meist älteren – Grafikkarten
ist ein Jumper vorhanden, welcher nach dem Einbau der Erweiterung umzusetzen
ist, andernfalls wird der zusätzliche Speicher nicht erkannt. Ein Blick in das Hand-
buch zur Grafikkarte ist hier meist unerlässlich, was auch für die Identifizierung
der einzusetzenden Speicherbausteine oder -module notwendig ist.
Die oben erläuterten Zusammenhänge für die jeweilige Größe des Grafikspeichers
betreffen nicht die 3D-Karten, also Grafikkarten, die spezielle Funktionen zur drei-
dimensionalen Darstellung besitzen. Diese Kartentypen benötigen demgegenüber
die 3- bis 4-fache Speichergröße (z.B. Z-Buffer für die Tiefeninformation) bei glei-
cher Auflösung im Vergleich zur einer 2D-Grafikkarte. Der Z-Buffer ist ein für 3D-
Karten geltender zusätzlicher Speicherbereich, der für die Tiefeninformation ver-
wendet wird. Zu jedem Bildpunkt gehört üblicherweise eine mit 16 Bit aufgelöste
Tiefeninformation.
Teil
1
· PC-Grundlagen
98
Da der Speicherbedarf vom Design der Karte und den zusätzlich erhältlichen Speicher-
modulen abhängig ist, kann man hier keine allgemein gültigen Aussagen treffen.
Zur Übersicht und zum Vergleich zeigt die folgende Tabelle die möglichen Auflö-
sungen im 3D-Betrieb mit den üblichen Speichergrößen der Grafikkarte Millenium
der Firma Matrox.
Auflösung Farbanzahl Grafikspeicher
(Bildpunkte) (Minimum)
640 x 480 65536 2 Mbyte
640 x 480 16,7 Mio. 4 Mbyte
800 x 600 256 2 Mbyte
800 x 600 65536 4 Mbyte
800 x 600 16,7 Mio. 8 Mbyte
1024 x 768 256 4 Mbyte
1024 x 768 65536 8 Mbyte
1024 x 768 16,7 Mio. 8 Mbyte
1280 x 1024 256 4 Mbyte
1280 x 1024 65536 8 Mbyte
Tabelle 1.15: Der Grafikspeicherbedarf für 3D-Anwendungen bei der Matrox Millenium
1.7.8 3D-Grafikkarten
Wer die Fortschritte bei den 3D-Grafikkarten für PCs nicht über die Jahre kontinu-
ierlich verfolgt hat, wird den Errungenschaften auf diesem Gebiet (teilweise) mit
einem gewissen Unverständnis gegenüberstehen. Dies liegt wohl auch nicht zu-
letzt an der speziellen Terminologie für die zahlreichen 3D-Features, die von den
Herstellern verwendet und im folgenden Kapitel daher noch näher erläutert wer-
den.
Das zweite Problem ist der Umstand, dass zwar alles Mögliche über 3D-Grafik erläutert
werden kann, letztendlich muss man es aber wirklich live erleben. Die 3D-Funktio-
nen sind (fast) nur für Spiele von Bedeutung, und die Innovationen auf dem Sektor
der Grafikkarten der letzten Jahre zielen auch (fast) ausschließlich hierauf ab.
Dies geht einher mit der Softwareentwicklung von Spielen, wobei gerade diejenigen,
die oftmals als brutale Baller- und Mörderspiele bezeichnet werden und auch teilweise
in Deutschland auf dem Index stehen, auf dem 3D-Gebiet Programmierstandards ge-
setzt haben und den 3D-Grafikkarten überhaupt deren Leistung entlocken können.
Für diese Spiele gibt es eine Reihe verschiedener 3D-Engines (Software-Interfaces),
die definierte Programmierschnittstellen darstellen, sowie Level-Editoren und 3D-
Modelle. Diese Dinge bilden auch die Grundlage anderer Spiele wie Flugsimulatoren
oder Strategiespiele. Die Entwicklung eines 3D-Spiels, welches Features aktueller
3D-Karten nutzt, verschlingt ein Millionenbudget und wird von größeren Teams,
die sich aus Mathematikern, Grafikern, Musikern und natürlich Programmierern
zusammensetzen, unter enormem Zeitdruck durchgeführt, denn nach einem hal-
ben Jahr gilt das Spiel bereits als technisch veraltet.
99
Die PC-Komponenten
1.7.9 Funktionen von 3D-Grafikkarten
Die dreidimensionale Bildschirmdarstellung (3D) stellt an eine Grafikkarte beson-
ders hohe Anforderungen. Aus diesem Grunde sind hierfür spezielle 3D-Beschleu-
nigerchips im Einsatz, die im Prinzip ähnlich wie die Chips auf den 2D-Beschleuniger-
karten arbeiten. Die 3D-Beschleuniger enthalten – je nach Typ –mehr oder weniger
Funktionen für die dreidimensionale Darstellung in »Silizium gegossen«. Die geo-
metrischen Berechnungen übernimmt auch hier weiterhin die CPU des PCs und der
3D-Beschleuniger beschäftigt sich vorwiegend mit Renderoperationen und küm-
mert sich um die Oberflächentexturen, wobei der Trend in der Grafikkartenent-
wicklung in die Richtung geht, dass die 3D-Grafikkarte immer mehr Funktionen
übernehmen soll, was somit zu einer Entlastung der CPU des PCs führen kann.
Texturen und Rendering
Als Texturen bezeichnet man generell die Oberflächenstrukturen der darzustellen-
den 3D-Objekte und als Rendering das Ausfüllen und Schattieren derselben.
Bild 1.59: Der prinzipielle interne Aufbau eines Grafikchips, der üblicherweise für 2D- und 3D-
Operationen jeweils eine eigene Pipeline besitzt
Alle neueren Grafikkarten enthalten neben dem 2D- auch einen 3D-Beschleuniger-
chip oder beide Bausteine sind in einem Gehäuse kombiniert untergebracht, was
auch dem allgemeinen Stand der Technik entspricht. Daneben existieren auch
reine 3D-Grafikkarten, die parallel zur vorhandenen Grafikkarte zu verwenden sind,
wie als Beispiel die Monster 3D von Diamond mit dem Voodoo-Chipsatz der Firma
3Dfx Interactive, der auf dem Gebiet der 3D-Grafik maßgebliche Standards gesetzt
hat. In der Tabelle 1.13 sind verschiedene Grafikkarten mit den wichtigsten Daten
angegeben.
Teil
1
· PC-Grundlagen
100
Bild 1.60: Die Monster 3D der Firma Diamond wird parallel zur vorhandenen
Grafikkarte betrieben
Als Kriterium zur Beurteilung der Leistungsfähigkeit von 3D-Grafikkarten gilt na-
türlich die Darstellungsqualität. Der »Klötzcheneffekt« (runde Strukturen werden
zu vieleckigen) sollte dabei möglichst nicht auftreten. Dazu bedient man sich des
bilinearen Filterings, das die Texturen äußerst fein erscheinen lässt. Einige ältere
3D-Grafikkarten – wie etwa die Matrox Mystique – bieten dieses Feature allerdings
nicht, während alle neueren diese Methode des Filterings wie auch das verbesserte
Trilineare Filtering in der Hardware unterstützen.
Für die Auswahl einer 3D-Grafikkarte sollte man beachten, ob und welche der an-
gegebenen Funktionen dabei vom 3D-Chip direkt unterstützt werden. Falls einige
Funktionen nicht durch den Chip selbst zur Verfügung stehen, werden sie übli-
cherweise durch die (Treiber-)Software emuliert, was aber zu Lasten der Verarbei-
tungsgeschwindigkeit und damit der Darstellungsqualität geht.
Terminologien und Funktionen von 3D-Beschleunigern:
> Alpha Blending
Objekten werden Transparenz-Informationen zugeordnet.
> Backdrop
Ist eine Hintergrund-Bitmap einer Szene (in einer Skybox).
> Bi- und Trilinear Filtering
Filterfunktionen zur Erzeugung von weichen Verläufen innerhalb der Texturen
und zur Vermeidung des »Klötzcheneffekts«. Bilineares Filtering hat den Nach-
teil, dass die Pixelstruktur beim Näherkommen an das Objekt erkennbar wird.
Trilineares Filtering verwendet demgegenüber kleinere abgestufte Texturen
durch die Interpolation benachbarter Stufen.
> Binary Space Partitioning
BSP ist ein Verfahren für 2D-Bitmaps zur Ermittlung verdeckter Flächen und
Kanten
101
Die PC-Komponenten
> Compressed Textures
Einige 3D-Grafikkarten mit Chips wie beispielsweise dem Rage 128 Pro von ATI
oder dem Savage 4 Xtreme von S3 können hochauflösende Texturen kompri-
miert speichern und »in Hardware« dekomprimieren, während andere Grafik-
karten hierfür die CPU verwenden müssen. Bisher unterstützen jedoch nur
recht wenige Spiele die HiRes-Textures, was sich in Zukunft sicher noch än-
dern wird.
> Entity
Eine Datenstruktur, die der Zuordnung bestimmter Eigenschaften auf Objekte
dient.
> Flat Shading
Färben von Polygonen, wodurch beispielsweise Kanten hart oder scharf wir-
ken.
> Fogging
Funktion zur Darstellung von sich entfernenden Objekten, sie verschwinden
quasi im Nebel. Oder auch die tatsächliche Darstellung von Nebel, Qualm, Rauch
und Ähnlichem.
> Frame
Ein einzelnes Vollbild. Die Leistung eines 3D-Chips wird mit Frames per Second
(fps) angegeben.
> Gourad Shading
Der Farbverlauf ergibt sich aus der Interpolation der Farbeckwerte.
> Level
Eine Szene oder auch Welt, wobei neuere Spiele auch mehrere Levels verbinden
können, zwischen denen man sich bewegen kann.
> Lightmaps
Lichteffekte für die MIP-Map-Texturen.
> Maps
Bei älteren Spielen sind dies einfache, zweidimensionale Richtlinien für den
Aufbau der Levels, während dies bei neueren zusammengesetzte 3D-Modelle
sind, die mit Entities versehen werden können.
> MIP Mapping
Eine Oberfläche wird mit mehreren Texturen hinterlegt, wodurch Objekte, die
näher kommen, einen immer höheren Detailreichtum aufweisen und dabei
möglichst keine Pixelstruktur erkennbar ist. Das Trilineare Filtering führt die-
ses Prinzip mit noch kleineren Stufen aus.
> MIP Map Texturen
Die Grundstruktur eines Objektes in verschiedenen Auflösungen (typischer-
weise 16 x 16 bis 256 x 256 Pixel) für das MIP-Mapping.
> Prefabs
Vorgefertigte Objekte wie Bäume oder Brücken im MAP-Format.
> Polyhedrons
Aus Polygonen zusammengesetzte Körper.
> Radiosity
Ein Beleuchtungsmodell, das den Umstand berücksichtigt, dass alle beleuchte-
ten Flächen auch Lichtquellen sind. Erfordert einen hohen Rechenaufwand,
bewirkt jedoch sehr realistisch wirkende Szenen.
Teil
1
· PC-Grundlagen
102
> Raycasting
Einfaches Beleuchtungsmodell, das nur mit Lichtstrahlen arbeitet und im Prinzip
durch das natürlichere Radiosity ersetzt werden kann.
> Rendering
Ausfüllen und Schattieren der 3D-Objekt-Oberflächenstrukturen.
> Shading
Damit gekrümmte Flächen möglichst echt aussehen, werden sie schattiert,
was durch die Aufteilung in kleine Rechtecke erreicht wird.
> Skybox
Dies sind die sechs Flächen einer gesamten Szene.
> Special Effects
Abgekürzt als SFX sind dies spezielle Effekte wie Blitze oder Wasserfluten, die
mit Hilfe der Entities realisiert werden.
> Sprites
2D-Bitmaps, wie etwa Gegenstände mit mehreren Ansichten und ggf. auch
Bewegungsphasen.
> Texture Mapping
Oberflächen werden mit Mustern gefüllt (z.B. Ziegelwand), was zu einem rea-
listischeren Eindruck als bei Gourad Shading führt.
> Texturen
Dies sind ganz allgemein die Oberflächenstrukturen der darzustellenden 3D-
Objekte.
> VRML
Virtual Reality Modelling Language ist eine Programmiersprache zur Erzeugung
dreidimensionaler Grafiken, die ursprünglich für Internetanwendungen gedacht
war und von einigen Spielen verwendet wird.
> Z-Buffer
Speicherbereich, in dem für jeden Bildpunkt eine meist 16-Bit-aufgelöste Tiefen-
information gespeichert wird. Dient zur Information, ob ein neuer Objekt-
punkt sichtbar ist oder nicht.
Für die 3D-Darstellung sind spezielle Software-Interfaces entworfen worden, an-
dernfalls würde wohl jeder Grafikkartenhersteller seine eigene 3D-Implemetierung
realisieren, was einerseits einen hohen Programmieraufwand erfordern und ande-
rerseits keine Kompatibilität unterschiedlicher Karten ermöglichen würde.
> Direct-3D
Bestandteil von Direct X, Einsatz vorwiegend bei Spielen unter Windows 95,
Direct X wird für Windows 95 nachträglich installiert. In der Praxis sorgt Direct X
immer wieder für Probleme, da der Treiber, der zur Grafikkarte gehört, wäh-
rend der Installation von jedem Spiel überschrieben werden kann.
> Open-GL
Stammt von der Firma Silicon Graphics und ist für den professionellen Bereich
(Konstruktion von 3D-Objekten, Computeranimationen wie etwa beim Film
Independence Day) vorgesehen. Dieser Standard ist in Windows NT 4.0 auto-
matisch implementiert und bei Windows 95 ab der Version OSR2 (mit V32FAT).
> HEIDI
Ist ein 3D-Standard für das Konstruktionsprogramm AUTOCAD sowie 3D Studio
Max der Firma AUTODESK und daher eher für die professionelle Nutzung ausge-
legt. Das Software-Interface ist nachträglich zu installieren.
103
Die PC-Komponenten
Ein weiteres wichtiges Kriterium für die Qualität von 3D-Karten ist ein flüssiger
Bildaufbau, was insbesondere für Spiele relevant ist. Das Maß der Dinge ist dabei
die Framerate, die in frames per second (fps) angegeben wird und kennzeichnet,
wie viele Bilder pro Sekunde aufgebaut werden können, damit letztlich der Ein-
druck eines ablaufenden Videos entsteht.
Das störende Ruckeln ist erst ab einer Framerate von 25 fps für das menschliche
Auge nicht mehr wahrzunehmen und ein typischer Standardwert sind 50 fps – wird
beispielsweise von der Grafikkarte Fire GL 1000 erreicht –, der als optimaler Wert
für einen flüssigen Bildaufbau und auch als Kompromiss an die notwendige Hard-
ware (Speicher, RAMDAC) angesehen wird. Höhere Werte liefern hingegen keinen
merklichen Beitrag mehr zu einer verbesserten Bildwiedergabe.
Bild 1.61: Die Grafikkarte Fire GL 1000 der Firma Diamond gehört zu den leistungsfähigsten 3D-
Grafikkarten, was durch die Verwendung des Chips Permedia 3D und 8 Mbyte SGRAM
erreicht wird; der Speicher der Karte ist über Module erweiterbar
Der Permedia-3D-Chip wird nicht nur von Diamond, sondern beispielsweise auch auf
der Winner 2000/Office von ELSA oder der Dynamite 3D/GL von Hercules eingesetzt.
Der Permedia-Chip enthält sowohl einen 3D-Beschleuniger mit den wichtigsten 3D-
Funktionen als auch einen 2D-Beschleuniger mit den hier üblichen Funktionen.
Je nach Design besitzt eine Permedia-Card spezielle Videoeingänge und auch -
Ausgänge, etwa für S-VHS und/oder FBAS, allerdings ist dann zusätzlich ein ent-
sprechender PAL-Dekoder auf der Karte notwendig.
Video-Signale, von einem Videorecorder beispielsweise, können direkt eingespeist
und auf dem PC-Monitor in einem Fenster dargestellt und auch auf der Festplatte
abgespeichert werden. Die Bilddarstellung auf einem Fernseher ist via Videokarten-
ausgang möglich. Zur Verarbeitung der Videoquellen werkelt im Inneren ein spezi-
eller Stream-Prozessor, wie er auch in ähnlicher Form bei anderen 3D-Chips zum
Einsatz kommt, wie dem Trio64V der Firma S3.
Monitor-Plug&Play laut DDC1 und DD2C (siehe Kapitel 1.6.12) unterstützt der Chip
ebenfalls, sowie auch den I
2
C-Bus, wodurch automatische Konfigurationsmecha-
nismen gegeben sind, die jedoch von Kartenhersteller zu Kartenhersteller unter-
schiedlich ausfallen können. Dies gilt ebenfalls für das Interface zum PC-Bus, das
entweder als PCI oder als Accelerated Graphics-Port (AGP) ausgeführt sein kann.
Teil
1
· PC-Grundlagen
104
Die Videowiedergabe laut MPEG ist in einer maximalen Auflösung von 1024 x 768
Pixeln bei 30 Frames per Second möglich, wofür der integrierte Geometry Pipeline
Processor (100 MFLOP) zum Einsatz kommt, der auch den AGP als Busmaster bedie-
nen kann.
Bild 1.62: Das vereinfacht dargestellte Innenleben des Permedia-3D verdeutlicht seine vielfältigen
Funktionsmöglichkeiten
In Echtzeit, Vollbild und mit 50 fps, laufende aktuelle Spiele verlangen von PCs
eine Leistung, die vor Jahren kaum denkbar war, und die Darstellungsqualität
kommt dabei fast an die von Trickfilmen heran. Die Performance der besten 3D-
Grafikkarte bleibt aber auf der Strecke, wenn nicht das »PC-Umfeld« wie die CPU,
die Größe des RAM-Speichers und die Geschwindigkeit der Festplatte hierzu »stim-
mig« sind.
Gebräuchliche 3D-Grafikkarten überlassen die Festlegung, wo die einzelnen Bild-
elemente zu liegen kommen sollen – also die Szenerie – der CPU des PCs, was als
Dreieck-Setup bezeichnet wird, weil die Objekte in eine Vielzahl von einzelnen
Dreiecken (Polygonen) zerlegt werden, die nachfolgend vom Rasterizer mit bunten
Punkten auszufüllen sind.
Grafikkarten mit einem Banshee-Chip der Firma 3Dfx Interactice, wie die 3D Blaster
von Creative Labs, besitzen beispielsweise eine so genannte Triangle Setup Engine,
die bis zu vier Millionen Polygone pro Sekunde verarbeiten kann, die von der CPU
aber bereits »zerlegt« worden sind. Nur teure Grafikkarten (ab ca. DM 1000,-) besitzen
auch eine integrierte Setup-Engine und entlasten somit die CPU von dieser Aufgabe.
105
Die PC-Komponenten
Die Setup-Engine entfernt zunächst alle Polygone eines Objektes, die in der aktu-
ellen Szene (zur Zeit) unsichtbar sind, was als Backface Culling bezeichnet wird und
dafür sorgt, dass weniger Zeit und Speicherbandbreite zum Aufbau der Szenen
benötigt wird. Diese Aufgabe übernimmt entweder der 3D-Chip selbst oder aber
ein Treiber, der dann die CPU des PC hierfür verwendet, wie es beispielsweise die
Riva-Chips praktizieren. Das führt dazu, dass sie auf eine möglichst schnelle CPU
angewiesen sind, während der Banshee diese Aufgabe selbst ausführt und auch
noch mit demgegenüber langsameren CPUs (Pentium 233 MHz) akzeptable Ergeb-
nisse liefern kann. Andererseits belastet der Riva-Chip den Bus (AGP, PCI) aber
nicht so stark, da die Anzahl der Dreiecke per Treiber bereits aussortiert worden
sind, was letztlich auch dazu führt, dass ein Riva-Chip mit steigender CPU-Leis-
tung auch immer bessere Resultate liefern kann.
Bild 1.63: Der Aufbau der 3D-Pipeline beim Intel-740-3D-Chip (AGP)
Aus den bekannten Polygoneckpunkten werden daraufhin alle Zwischenwerte durch
Interpolation errechnet (Floating Point) und für jeden zu interpolierenden Parame-
ter ergeben sich jeweils eine X- und eine Y-Koordinate. Das Setzen der Pixel – die
Rasterung – und die Bestimmung der Farbe eines jeden Pixels sind die darauf fol-
genden Operationen des Rasterizers, wobei der Color Calculator außerdem eine Rei-
he einzelner Pipelines verwendet, die je nach 3D-Chip unterschiedlich implementiert
sein können und die Pixel mit Optionen (Fog = Distanzeindruck, Alpha = Transparenz-
eindruck, Specular = Akzentuieren) versieht. Da die Auflösung nicht beliebig er-