Leseprobe

Transcription

Leseprobe
3
Das Grafiksystem
KAPITEL 3
Das Grafiksystem
Kapitelübersicht
>> Grafikkarten
>> 3D-Grafik
>> 3D-Erweiterungsmöglichkeiten
>> Bussysteme für Grafikkarten
>> Anschlüsse
>> Monitore
>> Flachbildschirme
>>>
Kapitel 3
Das Grafiksystem
3.2
3DGrafik
Wer die Fortschritte bei den 3D-Grafikkarten für PCs über die Jahre nicht
kontinuierlich verfolgt hat, wird den Errungenschaften auf diesem Gebiet
nicht selten mit einem gewissen Unverständnis gegenüberstehen.
Die 3D-Funktionen sind fast nur für Spiele von Bedeutung, und die Innovationen auf dem Sektor der Grafikkarten der letzten Jahre zielen auch vorwiegend hierauf ab. Falls man sich überhaupt nicht für Spiele interessiert,
braucht man sich auch nicht mit 3D-Features zu beschäftigen und kann problemlos mit der OnBoard- oder der Standard-Grafikkarte eines kostengünstigen Komplett-PCs auskommen.
Immerhin lässt sich im Hinblick auf die Performance auch bei den typischen
Büroapplikationen von einem relativ großen Grafikspeicher profitieren, und
außerdem sind – je nach Typ – meist noch mehr oder weniger nützliche
Grafik-Tools mit dabei. Nützlich ist beispielsweise eine Applikation, die die
oftmals vermisste Funktion zum Farbabgleich zwischen Monitor, Drucker
und Scanner zur Verfügung stellt. Außerdem verfügen aktuelle 3D-Grafikkarten in der Regel über mindestens einen digitalen Anschluss (DVI) für
TFT-Bildschirme und auch über einen TV-Ausgang, damit sich das Spiel
oder das DVD-Video am heimischen Fernseher betrachten lässt, wobei es
mit der Qualität dieses Ausgangs aber vielfach nicht gut bestellt ist, was oft
zu einer nicht bildfüllenden, flackernden und unscharfen Darstellung führt.
Bei der Beurteilung von 3D-Funktionen liegt ein generelles Problem darin,
dass zwar alles Mögliche darüber erläutern werden kann, letztendlich es
aber wirklich live erlebt werden muss, damit hierfür ein Verständnis und
eine gewisse Urteilsfähigkeit entwickelt wird und die Fortschritte tatsächlich
deutlich werden.
Was die Angelegenheit außerdem noch erschwert, ist die spezielle Terminologie der Hersteller für die zahlreichen 3D-Features, die daher im folgenden
Kapitel zunächst erläutert werden.
102
3DGrafik
3.2.1
Kapitel 3
3DFunktionen im Überblick
Als Kriterium zur Beurteilung der Leistungsfähigkeit von 3D-Grafikkarten
gilt natürlich die Darstellungsqualität. Der augenfälligste Effekt ist
zunächst, dass runde Strukturen zu vieleckigen werden können, was möglichst nicht auftreten sollte und als Klötzlichen- oder Treppeneffekt bekannt
ist. Dieses Problem ist eines der markantesten, welches die Hersteller mit
unterschiedlichen Methoden zu beseitigen oder zumindest zu minimieren
versuchen. Der Effekt, der ganz allgemein bei der Digitalisierung von analogen Signalen auftritt und auch den Grund für Einbußen in der 3D-Bildqualität liefert, ist das Aliasing.
Hiermit ist der Zustand gemeint, wenn die Frequenz (Samplingrate), mit der
die Abtastung des zu digitalisierenden Signals stattfindet, zu klein ist. Sie
muss mindestens doppelt so groß sein, damit sich das abgetastete Signal
auch wieder rekonstruieren lassen kann, was als Nyquist-Kriterium oder
auch Shannon-Theorem bezeichnet wird.
Bei einer Grafikkarte muss dieser Effekt beim Rasterprozess, also bei der
Abbildung der Bildinformation auf ein Raster, berücksichtigt werden. Dieses darf nicht beliebig klein gewählt werden, damit es stets Übergänge zwischen einem Rasterelement (Quadrat, Rechteck, Dreieck) und dem nächsten
gibt. Die Geometrie einer 3D-Szene – das genaue Original – muss demnach
auf ein mehr oder weniger grobes Raster abgebildet werden, was somit das
Aliasing erst möglich macht. Ein Strich mit vielleicht 45° (gewissermaßen
der schlimmste weil augenfälligste Fall) kann somit zur Treppenstufe mutieren, denn ein Pixel (Rasterelement) kann entweder die eine oder die andere
Farbe annehmen.
Das Aliasing entsteht also durch Unterabtastung, was in Artefakten (falsche
Bildelemente) resultiert und nicht nachträglich durch ein Filter behoben
werden kann. Daher ist ein Anti-Aliasing-Verfahren vor dem Prozess des
Rendering notwendig, wofür es eine Reihe von verschiedenen Methoden
gibt, wie die bilineare Filterung oder das Supersampling (Überabtastung),
die letztendlich allesamt zur Kantenglättung führen sollen.
In den Einstellungsoptionen der Grafikkarten-Software, wie Forceware bei
Nvidia- und Catalyst bei ATI-Chips, finden sich eine Reihe von speziellen
Festlegungsmöglichkeiten für die 3D-Grafik. Insbesondere die Werte für das
Anti Aliasing (AA) und die Anisotrope Filterung (AF) werden hier oft separat für die Konfigurierung zur Verfügung gestellt, und entsprechende Werte
werden oft in den Grafikkartentests von Computerzeitschriften angeführt.
103
Kapitel 3
Das Grafiksystem
Abbildung 3.9: Falls keine Standardeinstellung verwendet werden soll,
können auch manuelle Veränderungen durchgeführt werden, wobei meist
ein Kompromiss zwischen Qualität und Leistung getroffen werden muss.
Bei genauerer Betrachtung werden diese Einstellungsmöglichkeiten in der
Praxis eigentlich selten benötigt, und anstatt hier stundenlang an den Optionen herumzuspielen – in der Hoffnung, bisher ungeahnte Grafikqualitäten
zutage zu fördern – ist es meist besser, die vorgeschlagenen und automatisch
eingestellten Werte so zu belassen, wie sie sind.
Ob und wie sich die Änderungen tatsächlich auswirken, hängt letztendlich
vom jeweiligen Spiel ab, was im Grunde genommen zu völlig unterschiedlichen Ergebnissen führen kann. Falls es möglich ist, sollten derartige 3D-Einstellungen deshalb direkt bei den Eigenschaften des betreffenden Spiels
erfolgen und nicht bei den grundlegenden Windows-Festlegungen der Grafikkarte, die dann am besten auf »Applikationsabhängig« oder auch »Standard« gesetzt werden. Die Catalyst-Software von ATI (ab Version 4.10)
enthält allerdings auch spezielle Einstellungsmöglichkeiten für einige besonders verbreitete Spiele, und es ist möglich, dass dann Optimierungen automatisch in Kraft treten.
104
3DGrafik
Kapitel 3
Diese Funktion ist aber nicht immer gewünscht, denn sie kann durchaus für
Probleme verantwortlich sein, weil die Einstellungen für den Anwender
unbemerkt aktiviert werden, was gleichermaßen für die Forceware-Software
von Nividia gilt. Auch deshalb hängt die optimale Leistung einer 3D-Karte
sehr stark vom jeweiligen Spiel ab.
3D-Terminologien im Überblick:
>> Alpha Blending
Den Objekten werden Transparenz-Informationen zugeordnet.
>> Anisotrope Filterung, Anisotropic Filtering
Anisotrope Filterung bedeutet, dass hier ein Filter zur Interpolation
verwendet wird, der nicht in allen Richtungen auf die gleiche Art und
Weise wirkt, sondern meist elliptisch. Dies ist zwar die optisch beste
Methode zur Texturfilterung, jedoch auch die rechenintensivste, während die bilineare und die trilineare Filterung mit weitaus weniger Aufwand zu realisieren sind.
>> Anti Aliasing
Das Anti Aliasing ist ein allgemeiner Ausdruck im 3D-Bereich für
(irgend)ein Kantenglättungsverfahren, damit etwa »gepixelte« Kanten
verwaschen dargestellt werden.
>> Backdrop
Die Hintergrund-Bitmap einer Szene in einer Skybox (s.u.).
>> Bilinear und Trilinear Filtering
Filterfunktionen (Anti Aliasing) zur Erzeugung von weichen Verläufen
innerhalb der Texturen und damit zur Vermeidung des »Klötzcheneffekts«. Dabei wird ein Pixel mit derjenigen Farbe versehen, die dem
Mittelwert der umliegenden Pixelfarben entspricht. Die bilineare Filterung hat den Nachteil, dass die Pixelstruktur beim Näherkommen an das
Objekt erkennbar wird. Die trilineare Filterung verwendet demgegenüber kleinere abgestufte Texturen durch die Interpolation weiterer
benachbarter Stufen und wird auf die Nähe eines Übergangs beschränkt,
ist also nur in einem verhältnismäßig schmalen Streifen wirksam.
>> Binary Space Partitioning
BSP ist ein Verfahren für 2D-Bitmaps zur Ermittlung verdeckter Flächen und Kanten.
>> Bump Mapping
Ein Objekt wird mit einer Textur überzogen, damit beispielsweise eine
Kugel uneben wirken kann.
105
Kapitel 3
Das Grafiksystem
>> Compressed Textures
Das Speichern von hochauflösenden Texturen (HiRes-Texture) in komprimierter Form, welches vorwiegend bei älteren Modellen (ATI Rage
128 Pro) angewendet wird, wenn der Speicher zu knapp ist, was bei
den heutigen Modellen eher nicht der Fall ist und die Verarbeitungsgeschwindigkeit hemmen kann.
>> Displacement Mapping
Stellt eine Erweiterung des Bump Mapping dar, indem die über das
Objekt gelegte Textur verformt werden kann, damit z.B. eine Kugel
einen plastischen Eindruck erweckt. Dieses Feature wurde erstmalig
durch die Matrox Parhelia-Grafikkarte zur Verfügung gestellt und wird
standardmäßig ab DirectX 9 unterstützt.
>> Dot Product3
Stellt eine realistischere und demnach kompliziertere Form des Bump
Mapping dar. Die Helligkeit einer Oberfläche kann in Abhängigkeit
von der Richtung des Lichteinfalls manipuliert werden.
>> Entity
Eine Datenstruktur, die der Zuordnung bestimmter Eigenschaften auf
Objekte dient.
>> Environment Mapping
Recht aufwändig zu berechnende Spiegelungen der Umwelt in einem
reflektierenden 3D-Objekt. Dieses Feature wurde erstmalig von
Matrox bei der Millenium G400 realisiert.
>> Flat Shading
Färben von Polygonen, wodurch beispielsweise Kanten hart oder scharf
wirken.
>> 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.
>> Fragment Anti Aliasing, FSAA
Fragment Anti Aliasing stellt eine Weiterentwicklung des FSAA-Verfahrens (Full Screen Anti Aliasing) dar, welches eine 3D-Szene stets neu
berechnet, während beim Fragment Anti Aliasing nur Polygonübergänge
geglättet werden. Dieses Feature stellt erstmalig die Matrox ParheliaGrafikkarte zur Verfügung, und es wird ab DirectX9 unterstützt. FSAA
wurde von 3dfx mit dem Voodoo5-Chipset eingeführt und wird nach der
Übernahme durch Nvidia bei der GeForce-Serie weiter genutzt.
106
3DGrafik
Kapitel 3
>> Frame
Ein einzelnes Vollbild. Die Leistung eines 3D-Chips wird oftmals in
Frames per Second (fps) bei einer bestimmten Auflösung angegeben.
>> Gourad Shading
Der Farbverlauf ergibt sich aus der Interpolation der Farbeckwerte.
>> Keyframe Interpolation, Vertex Morphing
Spezielle Animation z.B. beim Übergang zwischen zwei Gesichtsausdrücken, was zu einer realistischeren Mimik führt.
>> Level
Eine Szene oder auch Welt, wobei neuere Spiele auch mehrere Levels
verbinden können, zwischen denen man sich bewegen kann.
>> Light Maps
Lichteffekte wie Schatten oder Abdrücke für die MIP-Map-Texturen
(siehe dort).
>> Maps
Bei älteren Spielen sind dies einfache, zweidimensionale Richtlinien für
den Aufbau der Levels, während es sich bei neueren um zusammengesetzte 3D-Modelle handelt, die mit Entities (siehe dort) 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 dieses Prinzip mit noch kleineren Stufen aus.
>> MIP Map Texturen
Die Grundstruktur eines Objektes in verschiedenen Auflösungen
(typisch 16 x 16 bis 256 x 256 Pixel) für das MIP-Mapping.
>> Pixel Shader
Der Pixel Shader ist eine eigene, programmierbare Funktionseinheit für
die Bestimmung der Pixelfarben nach dem Rasterprozess, wobei hier
auch Effekte wie Bump Mapping oder Environment Mapping mit
berücksichtigt werden. Wird ab DirektX 8 unterstützt und wurde mit der
GeForce 3 erstmalig implementiert. Die Pixel Shader-Unterstützung geht
mit dem Vertex-Shader-Support (siehe dort) einher. Die Bezeichnung
Shader ist verwirrend gewählt, weil diese Einheiten nicht nur etwas mit
Schattierungen, sondern ganz allgemein etwas mit Formen zu tun haben.
107
Kapitel 3
Das Grafiksystem
>> Polyhedrons
Aus Polygonen zusammengesetzte Körper.
>> Prefabs
Vorgefertigte Objekte wie Bäume oder Brücken im MAP-Format.
>> Radiosity
Ein Beleuchtungsmodell, welches den Umstand berücksichtigt, dass alle
beleuchteten Flächen auch Lichtquellen sind. Es erfordert einen hohen
Rechenaufwand, bewirkt jedoch sehr realistisch wirkende Szenen.
>> RAMDAC
Random Access Memory Digital Analog Converter, setzt die digitalen
Daten der Grafikkarte in analoge Werte für den Monitor um. Wird
üblicherweise anhand seiner Taktfrequenz (in MHz) spezifiziert.
>> Raycasting
Einfaches Beleuchtungsmodell, welches nur mit Lichtstrahlen arbeitet
und im Prinzip durch das natürlicher wirkende Radiosity-Modell
ersetzt werden kann.
>> Rendering
Ausfüllen und Schattieren von 3D-Objekt-Oberflächenstrukturen.
>> Setup Engine
Grundlegende Einheit eines 3D-Chips für die Bildaufbereitung (Rendering).
>> 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.
>> Specular Highlights
Verfahren zur Abbildung von Licht- oder Sonnenstrahlen auf metallischen Oberflächen.
>> Sprites
Einfache 2D-Bitmaps, wie etwa Gegenstände mit mehreren Ansichten
und ggf. auch Bewegungsphasen.
108
3DGrafik
Kapitel 3
>> Stencil Buffering
Hiermit wird ein statisches grafisches Element vor einer sich dynamisch
verändernden Szene platziert. Der statische Bereich muss daher nicht
mehr neu gerendert werden.
>> Texture Mapping
Oberflächen werden mit Mustern gefüllt (z.B. Ziegelwand), was zu
einem realistischeren Eindruck als bei Gourad Shading (s.o.) führt.
>> Texturen
Dies sind ganz allgemein die Oberflächenstrukturen der darzustellenden 3D-Objekte.
>> Transform&Lightning
Zusätzliche Einheit, die erstmalig Nvidia mit dem Grafikchip GeForce
256 eingeführt hat. Diese setzt 2D- in 3D-Koordinaten um und berechnet
Lichtquellen, wodurch die CPU von diesen Aufgaben entlastet wird.
>> Triangle Setup; Triangulation, Tessitation
Die grundlegende Zerlegung der Bildinformation in einzelne Polygone
(Dreiecke), was oftmals (noch) durch die CPU und nicht den Grafikchip erledigt wird. Diese einzelnen Polygone werden nachfolgend vom
3D-Chip weiterverarbeitet und führen zum jeweiligen 3D-Bild.
>> UMA
Unified Memory Architecture, wird üblicherweise bei einer OnBoardGrafik (Grafikchip auf dem Mainboard) eingesetzt und verwendet den
PC-Hauptspeicher als Grafikspeicher. Ein gravierender Nachteil ist
dabei, dass der Grafikchip und die CPU um den Speicherzugriff konkurrieren, so dass OnBoard-Grafik mit UMA für aktuelle Spiele meist
zu langsam ist.
>> Vertex Shader
Ist eine im 3D-Chip implementierte, programmierbare Einheit für die
Bestimmung der Eckpunkte (Lage, Größe, Effekte) aller Dreiecke, die
zum Grafikchip geliefert werden und nachfolgend vom Rasterizer in
einzelne Pixel zerlegt werden. Wird ab DirektX 8 unterstützt und
wurde mit der GeForce 3 erstmalig implementiert. Die Vertex ShaderUnterstützung geht mit dem Pixel-Shader-Support (siehe dort) einher.
>> Vertex Skinning, Vertex Blending
Diese Funktion sorgt für glatte Übergänge bei Verbindungsstellen, etwa
bei Arm- und Beingelenken von sich bewegenden Figuren. Bei ATI wird
dies per Hardware im 3D-Chip erledigt und als 4-Matrix-Skinning
bezeichnet.
109
Kapitel 3
Das Grafiksystem
>> Virtual Texture
Der Texturenspeicher verwendet einen logischen Adressraum, der im
Speicher der Grafikkarte oder im PC-Hauptspeicher lokalisiert sein
kann und die Texturdaten in kleineren Einheiten (Virtual Texture) vorhält, welche bei Bedarf unmittelbar gerendert werden können.
>> VRML
Virtual Reality Modeling Language ist eine Programmiersprache zur
Erzeugung dreidimensionaler Grafiken, die ursprünglich für InternetAnwendungen gedacht war und auch von einigen Spielen verwendet
wird.
>> Z-Buffer
Dies ist ein Speicherbereich, in welchem für jeden Bildpunkt eine meist
16-Bit aufgelöste Tiefeninformation gespeichert wird. Sie gibt an, ob
ein neuer Objektpunkt sichtbar ist oder nicht.
Für die Auswahl einer 3D-Grafikkarte sollte man beachten, ob und welche
der angegebenen Funktionen dabei vom 3D-Chip direkt unterstützt werden,
was zugegebenermaßen nicht immer leicht festzustellen ist. Falls einige Funktionen nicht durch den Chip selbst zur Verfügung stehen, werden sie üblicherweise durch die (Treiber)Software und DirectX emuliert, was aber zu Lasten
der Verarbeitungsgeschwindigkeit und damit der Darstellungsqualität geht.
Abbildung 3.10: Kugeln sind beliebte Objekte für die Demonstration von Grafikeffekten, hier bei einer
ATI RadeonGrafikkarte.
110
3DGrafik
Kapitel 3
Außerdem hängt die Funktionalität von Grafikkarten von der jeweiligen
DirectX-Version ab, und vielfach eilen die Grafikkarten mit ihren neuen
Features denjenigen, die DirectX in Windows unterstützt, voraus, so dass
diese neuen und teilweise ganz Chip-eigenen Funktionen brachliegen. Häufig werden die Grafikkartentreiber von den Herstellern auch quasi um
DirectX »herumprogrammiert«, was dann mit zahlreichen Kompatibilitätsproblemen einhergehen kann, da möglicherweise nur ein bestimmtes Spiel
hiermit zurechtkommt, während andere sogar komplett ihren Dienst verweigern.
Herstellerspezifischen 3D-Funktionen ist daher mit Skepsis zu begegnen, da
kaum zu erwarten ist, dass die Spielprogrammierer zahlreiche verschiedene
Variationen davon auf den Markt bringen werden. Bei bestimmten Bundles
– bestehend aus Grafikkarte und einigen Spielen – kann es aber durchaus
der Fall sein, dass die Spiele auf den jeweiligen Grafikchip hin optimiert
worden sind, wovon auch die Demos der Chiphersteller Zeugnis ablegen.
Die Darstellung bei einem einzeln erworbenen Spiel kann in solch einem
Fall jedoch stark enttäuschen.
Auch wenn von den Chip- und Grafikkartenherstellern laufend neue 3DFunktionen mit immer kryptischer erscheinenden Ausdrücken angepriesen
werden, kann man sich lediglich auf diejenigen Funktionen verlassen, die
von der jeweiligen DirectX-Version unterstützt werden, was für den Spielesektor im Grunde genommen den einzigen (verbindlichen) Standard darstellt. Spiele für OpenGL werden immer seltener realisiert, wobei die
OpenGL-Funktionalität für den professionellen Bereich (3D-Modellierung,
CAD/CAM) weiterhin von Bedeutung ist.
Letztendlich ist für den PC-Spieler ausschlaggebend, dass die gewünschten
Applikationen mit der jeweiligen Grafikkarte optimal zusammenarbeiten,
was bereits auf den Verpackungen vermerkt sein sollte. Die entsprechenden
Internetseiten der Spielherstellern sprechen allerdings Bände in Form ständiger Updates und optimierender Patches für diese oder jene Grafikkarte, was
zu einer gewissen Eigendynamik führt, die im Grunde genommen nichts
mehr mit Grafikkarten-Hardware, sondern mit Windows, DirectX, Treiber
und dem jeweiligem Spiel zu tun hat und deshalb auch kaum zu allgemeinen
Hilfestellungen und Tipps führt.
Interessanterweise wird die Software-Entwicklung von Spielen gerade von
denjenigen maßgeblich beeinflusst und vorangetrieben, die oftmals als »brutale Baller- und Mörderspiele« bezeichnet werden. Sie setzen auf dem 3DGebiet wesentliche Programmierstandards und können den 3D-Grafikkarten überhaupt erst deren Leistung entlocken. Für diese Spiele gibt es eine
Reihe verschiedener 3D-Engines (Softwareinterfaces), die definierte Programmierschnittstellen darstellen, sowie Level-Editoren und 3D-Modelle.
Diese Dinge bilden auch die Grundlage anderer Spiele wie Flugsimulatoren
oder Strategiespiele.
111
Kapitel 3
Das Grafiksystem
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
einen halben Jahr gilt das Spiel bereits als technisch veraltet.
Ein weiteres wichtiges Kriterium für die Qualität von 3D-Karten ist ein flüssiger Bildaufbau. 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 Eindruck eines
ablaufenden Videos entsteht. Dabei spielt die jeweilige Auflösung natürlich
noch eine wichtige Rolle, denn bei einer kleineren Auflösung ergibt sich in
der Regel auch eine höhere fps-Rate.
Das störende Ruckeln ist erst ab einer Framerate von 25 fps für das menschliche Auge nicht mehr als unangenehme Störung wahrzunehmen, und ein typischer Standardwert sind 50 fps, der als optimaler Wert für einen flüssigen
Bildaufbau und auch als Kompromiss an die notwendige Hardware (Speicher,
RAMDAC) angesehen werden kann. Höhere Werte hingegen liefern oftmals
keinen merklichen Beitrag mehr zu einer verbesserten Bildwiedergabe, was
natürlich auch von der gewählten Auflösung und dem jeweiligen Spiel
abhängt ist, wobei mitunter über 100 fps angegeben werden.
3.2.2
Entwicklung der 3DGrafikkarten
Die dreidimensionale Bildschirmdarstellung (3D) stellt an eine Grafikkarte
besonders hohe Anforderungen. Aus diesem Grunde sind hierfür spezielle
3D-Beschleunigerchips im Einsatz, die im Prinzip ähnlich wie die Chips auf
den 2D-Beschleunigerkarten arbeiten, jedoch weitaus komplexer sind. Die
3D-Beschleuniger enthalten – je nach Typ – eine Auswahl derjenigen Funktionen, die im vorherigen Kapitel erläutert sind, jedoch für die dreidimensionale Darstellung in »Silizium gegossen«.
Geometrische Berechnungen werden üblicherweise weiterhin von der CPU
des PC ausgeführt, während sich der 3D-Beschleuniger vorwiegend mit
Renderoperationen beschäftigt und sich um die Oberflächentexturen kümmert, wobei der Trend in der Grafikkartenentwicklung die Richtung geht,
dass die 3D-Grafikkarte immer mehr Funktionen übernehmen soll, was zu
einer Entlastung der CPU des PC führen kann. Dabei hängt es jedoch stark
vom jeweiligen 3D-Chip ab, inwieweit dies möglich ist, und er muss leistungstechnisch betrachtet zur eingesetzten CPU passen. Eine im Verhältnis
zur Grafikkarte zu langsame CPU kann die Daten vielleicht gar nicht so
schnell liefern, wie es für einen flüssigen Ablauf notwendig ist, so dass auch
eine preisgünstigere Grafikkarte in Frage gekommen wäre.
Alle aktuellen Grafikkarten enthalten neben dem 2D- auch einen 3DBeschleunigerchip, bzw. beide Bausteine sind in einem Gehäuse kombiniert
untergebracht, wie dem allgemeinen Stand der Technik entspricht. Der
112
3DGrafik
Kapitel 3
RAMDAC ist meist ebenfalls im Grafikchip mit enthalten, so dass daneben
meist nur noch die Speicher und keine weiteren (größeren) Bauteile mehr
auf einer Grafikkarte zu entdecken sind.
Abbildung 3.11: Der prinzipielle interne Aufbau eines Grafikchips, der üblicherweise für 2D und
3DOperationen jeweils eine eigene Pipeline besitzt.
Das Prinzip der Grafikbeschleuniger wurde – wie bereits erwähnt – von der
Firma S3 entwickelt, die mit dem Virge-Chip erstmalig auch das Gebiet der
dreidimensionalen Darstellung auf recht breiter PC-Front erschloss. Gängig
waren für den Spieler zu dieser Zeit (ca. 1995) die DOS-Grafikmodi, weil
Windows aufgrund seiner Geschwindigkeit als Spielplattform damals völlig
ungeeignet war.
Hersteller/Typ
Speicher
Chipsatz
RAMDAC
2D/3D
ATI Videoboost
2 MB EDO DRAM
MACH64CT
135 MHz
2D
ATI 3D Charger
4 MB SGRAM
3D Rage II+
170 MHz
2D/3D
ATI 3D Xpression+
4 MB SGRAM
3D Rage II
170 MHz
2D/3D
ATI Pro Turbo PCTV
8 MB SGRAM
3D Rage II
230 MHz
2D/3D
Creative Labs 3D Blaster
4 MB EDO DRAM
Rendition Verite
135 MHz
2D/3D
Diamond Fire GL 1000 Pro
8 MB SGRAM
Permedia 2
230 MHz
2D/3D
Diamond Stealth 2520
2 MB EDO DRAM
Alliance AT24
135 MHz
2D
Diamond Stealth 3D 2400
4 MB EDO DRAM
S3 Virge
135 MHz
2D/3D
Diamond Stealth 3D 2400 Pro
4 MB EDO DRAM
S3 Virge DX
170 MHz
2D/3D
Diamond Stealth 3D 3400
4 MB VRAM
S3 Virge VX
220 MHz
2D/3D
Diamond Monster 3D
4 MB EDO DRAM
3dfx Voodoo 3D
-
3D
Elsa Winner 2000 Office
4 MB SGRAM
Permedia 2
230 MHz
2D/3D
Hercules Dynamite 128 Video
2 MB MDRAM
Tseng Labs ET6000
135 MHz
2D
Tabelle 3.6: Daten von bekannten 2DGrafikkarten und Karten der ersten 3DGeneration
113
Kapitel 3
Das Grafiksystem
Hersteller/Typ
Speicher
Chipsatz
RAMDAC 2D/3D
Hercules Terminator 3D/DX
4 MB EDO DRAM
S3 Virge DX
170 MHz
2D/3D
Hercules Stingray 128
6 MB EDO DRAM
3dfx Voodoo Rush
170 MHz
2D/3D
Matrox Mystique
4 MB SGRAM
MAG 1064 SG
170 MHz
2D/3D
Matrox Mystique 220
4 MB SGRAM
MAG 1064 SG
220 MHz
2D/3D
Matrox Millenium
4 MB WRAM
MAG 2064 W
220 MHz
2D/3D
Matrox Millenium II
4 MB WRAM
MAG 2164 W
250 MHz
2D/3D
Number Nine 9FX Reality 332
2 MB EDO DRAM
S3 Virge
135 MHz
2D/3D
Number Nine 9FX Reality 772
4 MB VRAM
S3 Virge VX
220 MHz
2D/3D
Number Nine Image 128
4 MB EDO VRAM
Imagine II
135 MHz
2D
STB Lightspeed 128
2 MB MDRAM
Tseng Labs ET6000
135 MHz
2D/3D
STB Nitro 3D
4 MB VRAM
S3 Virge GX
135 MHz
2D/3D
STB Velocity 3D
4 MB EDO VRAM
S3 Virge VX
135 MHz
2D/3D
Videologic GrafixStar 410
1 MB EDO DRAM
S3 Trio64/V2
135 MHz
2D
Videologic GrafixStar 450
2 MB EDO DRAM
S3 Virge
135 MHz
2D/3D
Videologic GrafixStar 550
4 MB EDO DRAM
Cirrus Logic Laguna
135 MHz
2D/3D
Videologic GrafixStar 750
4 MB VRAM
S3 Virge VX
220 MHz
2D/3D
Videologic Apocalypse 3D
4 MB EDO DRAM
NEC Power VR
220 MHz
2D/3D
Tabelle 3.6: Daten von bekannten 2DGrafikkarten und Karten der ersten 3DGeneration (Forts.)
Kurz zuvor hatte die bis dahin unbekannte Firma Nvidia bereits einen speziellen 3D-Chip – den NV1 – mit für den PC-Bereich ungewöhnlichen 3D-Möglichkeiten vorgestellt, der zusammen mit einem Soundchip der Firma Analog
Devices auf der Edge 3D (mit 2 MByte VRAM) von Diamond eingesetzt
wurde. Der erwartete Erfolg bleib allerdings aus, weil der NV1 nur für Windows eine entsprechende Treiberunterstützung lieferte und nicht direkt DOS
unterstützte, welches damals für Spiele eben noch die schnellere Basis war.
Das Produkt kam wohl einfach zu früh auf den Markt, denn neben S3 stellten
auch ATI und Matrox eigene 3D-Chips und Grafikkarten (3D Rage, Mystique) vor, die jedoch auf eine breitere Unterstützung den Spielprogrammierern trafen, weil sie eigene DOS-Programmierschnittstellen mitbrachten.
Spiele, die den jeweiligen Chips ihre Leistung entlocken konnten, waren zu
dieser Zeit vielfach spezielle Editions für die betreffende Karte, was sich erst
änderte, als DirectX (Version 2.0) in Windows als standardisierte Schnittstelle für Spiele implementiert wurde. Gleichwohl war die 3D-Leistung
unter Windows alles andere als befriedigend, denn typischerweise erreichte
man maximal 640 x 400 Bildpunkte mit höchstens 10 Bildern pro Sekunde,
und die Darstellungsqualität hatte noch zahlreiche Mängel aufzuweisen,
was für sich zusammengenommen keinerlei Begeisterungsstürme bei den
Spielern aufkommen ließ, denn die zu dieser Zeit gebräuchlichen (Sega-)
Spielkonsolen boten hier vergleichsweise mehr.
114
3DGrafik
Kapitel 3
Einen technologischen Schub vollbrachte Ende 1996 die erste Grafikkarte
der Firma 3dfx Interactive – Voodoo Graphics, Voodoo 1 –, die man durchaus als Meilenstein in der Entwicklung betrachten kann. Es war die erste
3D-Grafikkarte, die einen recht vollständigen 3D-Befehlssatz zur Verfügung
stellte und die volle VGA-Auflösung mit 20 Bildern pro Sekunde leisten
konnte. Der Befehlssatz war über eine spezielle Programmierschnittstelle –
Glide – unter DOS relativ leicht nutzbar und die erste Wahl für Spiele.
Abbildung 3.12: Die Monster 3D der Firma Diamond mit dem VoodooChipset wird parallel
zur vorhandenen Grafikkarte betrieben.
Die ursprüngliche Voodoo-Graphics-Implementierung ist für den parallelen
Betrieb mit der vorhandenen 2D-Grafikkarte vorgesehen, wie es z.B. mit der
Monster 3D von der Firma Diamond praktiziert werden konnte. Hierfür ist
die 3D-Zusatzkarte mit einem Kabel extern mit der PCI- oder AGP-Grafikkarte zu verbinden, woraufhin der Monitor an der Voodoo-Karte angeschlossen wird. Das bedeutet, dass das Bildsignal stets über die Voodoo-Karte
geführt wird, auch wenn diese Karte nicht aktiv ist. Dieses Verfahren kann entsprechend der Höhe der Auflösung und der Größe der Bildwiederholrate bei
der normalen PC-Arbeit zu einer verminderten Bildqualität führen.
Die heute neben ATI marktführende Firma Nvidia tauchte nach dem missglückten Start mit dem NV1 gegen Ende des Jahres 1997 mit einem Nachfolger, dem NV3, wieder auf, welcher als Riva 128 bekannt wurde.
Erstmalig war hiermit eine Auflösung von 800 x 600 Bildpunkten nutzbar,
was dem Speichertakt von 100 MHz und dem erstmalig 128-Bit-breiten
Speicherinterface zu verdanken ist. Ab diesem Zeitpunkt startete im Grunde
genommen der bis heute andauernde Wettlauf um die realistischste 3D-Darstellung mit immer neuen Features.
115
Kapitel 3
Das Grafiksystem
Abbildung 3.13: Eine Grafikkarte aus der zweiten VoodooGeneration
Die Firma 3dfx revolutionierte aber noch ein zweites Mal die 3D-Grafik mit
der Vorstellung der Voodoo2-Grafikkarte, die 60 Bilder pro Sekunde bei
800 x 600 Punkten leisten kann. Durch die Parallelschaltung zweier
Voodoo2-Karten sind sogar 1024 x 768 Pixel möglich.
Das Prinzip der Parallelschaltung von zwei Grafikkarten ist in letzter Zeit
durch die Schaltungstechnik Crossfire von ATI und SLI von Nvidia wieder
neu belebt worden, wie auch die Option, eine zusätzliche Karte (PhysX)
hinzufügen zu können, die (nunmehr) der vorhandenen 3D-Grafikkarte
Arbeit abnehmen bzw. Effekte effizienter gestalten soll, worauf im Kapitel
3.3 noch näher eingegangen wird.
Hersteller/Typ
Speicher
Chipsatz
RAMDAC
ATI 3D Charger
4 MB SGRAM
ATI 3D Rage II
170 MHz
ATI All-in-Wonder 128
32 MB SDRAM
ATI Rage 128 GL
250 MHz
ATI Rage Fury
32 MB SGRAM
ATI Rage 128
250 MHz
ATI Rage Fury Pro
32 MB SGRAM
ATI Rage 128 Pro
300 MHz
ATI Rage Magnum
32 MB SGRAM
ATI Rage 128GL
250 MHz
Creative Labs Graphics Blaster TNT
16 MB SDRAM
Nvidia Riva TNT
250 MHz
Creative Labs3D Blaster Banshee
16 MB SDRAM
3dfx Banshee
250 MHz
Diamond Viper V550
16 MB SDRAM
Nvidia Riva TNT
250 MHz
Diamond Monster Fusion
16 MB SGRAM
3dfx Banshee
250 MHz
Elsa Erazor II
16 MB SGRAM
Nvidia Riva TNT
250 MHz
Elsa Victory
16 MB SGRAM
3dfx Banshee
250 MHz
Guillemot Maxi Gamer Phoenix
16 MB SGRAM
3dfx Banshee
250 MHz
Hercules Dynamite TNT
16 MB SGRAM
Nvidia Riva TNT
250 MHz
Hercules Terminator Beast
8 MB SDRAM
S3 Savage 4-3D
250 MHz
Matrox Mystique G200
8 MB SDRAM
Matrox G200
230 MHz
Matrox Millenium G200
8 MB SDRAM
Matrox G200
250 MHz
Tabelle 3.7: Daten von bekannten Grafikkarten der zweiten und dritten 3DGeneration
116
3DGrafik
Hersteller/Typ
Speicher
Chipsatz
RAMDAC
Matrox Marvel G400
16 MB SGRAM
Matrox G400
300 MHz
Number Nine Revolution IV
16 MB SDRAM
Number Nine
Ticket-2-Ride IV
250 MHz
STB Velocity 4400
16 MB SDRAM
Nvidia Riva TNT
250 MHz
STB Lightspeed 3300
16 MB SGRAM
3dfx Banshee
250 MHz
STB Velocity 100
8 MB SGRAM
3dfx Voodoo 3
300 MHz
STB Voodoo 3
16 MB SDRAM
3dfx Voodoo 3
350 MHz
Kapitel 3
Tabelle 3.7: Daten von bekannten Grafikkarten der zweiten und dritten 3DGeneration (Forts.)
Durch eine beeindruckende 3D-Leistung sowie vielfältige Anschlussmöglichkeiten traten die Permedia-Chips der Firma 3Dlabs hervor, die von zahlreichen
Kartenherstellern verwendet wurden, etwa auf der Fire GL der Firma Diamond sowie auf der Winner 2000/Office von ELSA oder auch der Dynamite
3D/GL von Hercules. Da hierfür auch ein (ordentlicher) OpenGL-Treiber zur
Verfügung stand, waren erstmals nicht nur Spiele, sondern auch professionelle
3D-Anwendungen mit relativ preisgünstigen 3D-Grafikkarten möglich. Je
nach Design verfügt eine Permedia-Card auch über spezielle Videoeingänge
und -ausgänge, etwa für S-VHS und/oder FBAS, was sich für Grafikkarten als
Novum darstellte. Die Videowiedergabe laut MPEG ist in einer maximalen
Auflösung von 1024x768 Pixeln bei 30 Frames per Second möglich, wofür
sich der integrierte Geometry Pipeline Processor (100 MFLOP) verantwortlich zeigt, der auch den AGP als Busmaster bedient.
Abbildung 3.14: Mit der Grafikkarte Fire GL 1000 der Firma Diamond, die den Permedia 3DChip und
8 MByte SGRAM verwendet, wurde auch das Gebiet der professionellen 3DVerarbeitung erschlossen.
117
Kapitel 3
Das Grafiksystem
Bei dem Wettrennen um die 3D-Grafikchips sind eine ganze Reihe einst
innovativer Firmen auf der Strecke geblieben, wie etwa die Firma S3, die
zunächst eine Kooperation mit Diamond Multimedia einging und nach
deren Ende die Technologie an VIA verkaufte. Tseng Labs ging an ATI,
Rendition (Vérité 2000) an Micron, und Firmen wie Alliance, Cirrus Logic
und Number Nine haben sich entweder aus dem 3D-Chip-Geschäft komplett zurückgezogen oder sind in Konkurs gegangen. Dies gilt auch für die
Hersteller von Grafikkarten wie Spea, die zunächst von Diamond Multimedia aufgekauft wurden und dann selbst Pleite gingen. Miro musste aufgeben, und zuletzt traf es (zum wiederholten Mal) die Aachener Firma ELSA.
Die einst sehr bekannte Firma Hercules lebt nur noch als Markenbezeichnung für Grafikkarten bei der französischen Firma Guillemot weiter.
Die Firma 3dfx hat sich im Jahre 2000 mit STB zusammengeschlossen und
wollte fortan ihre Chips nur noch über diesen Grafikkartenhersteller verkaufen, was sich im Nachhinein als Fehler herausgestellte, weil andere Hersteller nun keine Voodoo-Chips mehr einsetzen durften. Der folgende
Voodoo3-Chip enttäuschte, weil er zwar einen höheren Integrationsgrad als
der Vorgänger aufwies, leistungstechnisch gesehen jedoch keine gravierende
Steigerung bieten konnte.
Währenddessen zog Nvidia mit dem Riva TNT2 in punkto Leistung an
3dfx vorbei, denn Voodoo4 und Voodoo5 kamen wegen Entwicklungsproblemen zu spät in den Handel, was das Ende von 3dfx besiegelte. Ende des
Jahres 2000 wurde 3dfx von Nvidia »geschluckt«, so dass auch der einst so
beeindruckende Voodoo-Zauber nur noch Geschichte ist. Insbesondere die
3dfx-Technik der Kantenglättung (FSAA) wird von Nvidia in ihren Chips
weiterhin genutzt.
In der Tabelle 3.8 sind zur Übersicht die Entwicklungsstufen der 3D-GrafikChips zur Übersicht angegeben, wobei es schwer fällt, hier eindeutige Grenzen
zu ziehen, so dass man die Tabelle nur als Orientierung darüber verstehen
sollte, was sich auf diesem Gebiet über die Jahre technologisch gesehen getan
hat. Die Anzahl der verwendeten Transistoren mag dabei ein Indiz für die
Komplexität der Grafikchips sein. Vom relativ einfach aufgebauten Accelerator ist man mittlerweile bei einer GPU (Graphics Processing Unit) angelangt,
die über weit mehr Transistoren als ein aktueller Prozessor verfügt.
Grafikkarten der Firma ATI (Radeon) und Nvidia (ab GeForce 5-Familie)
werden separat im Kapitel 3.2.4 behandelt.
Ende des Jahres 1999 präsentierte Nvidia den GeForce 256 mit einer bis
dahin unerreichten Anzahl von 23 Millionen Transistoren und einer Transform&Lightning-Einheit, die gewissermaßen die vierte Generation der 3DChips einläutet. Diese (eigenständige) Geometrieeinheit innerhalb der GPU
ist für die 3D-Koordinatentransformation und Beleuchtungsberechnung
zuständig und wird ab DirectX7 unterstützt. Mittlerweile ist T&L als Standard bei allen 3D-Grafikkarten anzusehen.
118
3DGrafik
1. Generation: 1995/96
2. Generation: 1996/97
Anzahl der Transistoren:
3. Generation: 1998/1999
200.000 (0,35 µm)
0,5-3,5 Mio. (0,35 µm)
1,8-8 Mio. (0,25 µm)
Kapitel 3
Chips:
- S3 Virge
- Nvidia NV1
- ATI 3D Rage
- Matrox Mystique
- 3dfx Voodoo 1
- Nvidia Riva 128
- ATI Rage Pro
- 3Dlabs Permedia
- 3dfx Voodoo 2/3
- Nvidia TNT
- ATI Rage 128
- Matrox G200/G400
- S3 Savage 4-3D
- Intel 740
- Alpha Blending
- gefilterte Texturen
- Fog & Glanzlicht
- SGRAM (Matrox)
- Setup Engine
- Max. 8 MByte-Speicher
- 100 MHz-Speichertakt
- 128 Bit-Bus (Nvidia)
- Multitexturing
- 32-Bit-Rendering
- Texturkompression (S3)
- Bump Mapping (Matrox)
- 2-fach-Pipeline (Nvidia)
- DOS (Chip-spezifisch)
- Glide
- DirectX2
- Glide
- DirectX3
- DirectX5
- Glide
- OpenGL
- DirectX5, DirectX6
4. Generation: 2000
5. Generation: 2001/2002
Anzahl der Transistoren:
6. Generation: 2005/2006
15-30 Mio. (0,25-0,18 µm)
20-65 Mio. (0,18-0,15 µm)
100-380 Mio. (0,13-0,09 µm)
Features:
Chips:
- 3dfx Voodoo 4/5
- Nvidia GeForce
- ATI Radeon
- STM Kyro 2
- Nvidia GeForce 4/5
- Matrox Parhelia
- ATI Radeon 8500XT
- STM Kyro 3
- T&L-Engine (Nvidia, ATI)
- Tile-based Rendering (Kyro)
- Dot Product Bump Mapping
- Programmierbare T&L-Engine
- Vertex- und Pixel-Shader
- Displacement Mapping (Matrox)
- 64 Bit Farbtiefe
- 128 MB DDR-Speicher
- OpenGL
- DirectX7
- OpenGL
- DirectX8
- DirectX9, Shader Modell 2
- Nvidia GeForce 6800
- Nvidia GeForce 7900
- ATI Radeon X800
- ATI Radeon X1900
Features:
- PCIe (PEG) als Standard
- bis zu 16 Pipelines
- bis zu 8 Vertex-Shader
- bis zu 48 Pixel-Shader
- 512 MB GDDR3-Speicher
Programmierschnittstellen:
- Open GL 2.0
- DirectX9, Shader Modell 2
- DirectX9, Shader Modell 3
Tabelle 3.8: Entwicklungsstufen der 3DGrafikchips
119
Kapitel 3
Das Grafiksystem
Abbildung 3.15: Die 3D Blaster GeForce Annihilator der Firma Creative Labs verwendet einen
GeForce 256Chip.
Zwei Jahre später wurde die GeForce 3 (NV20) von Nvidia vorgestellt, die
eine erstmalige Neuentwicklung gegenüber der ersten GeForce-Generation
(GeForce 256) darstellt. Wie der Vorgänger GeForce 2 wird der Chip typischerweise mit 200 MHz und der DDR-Speicher mit 230 MHz getaktet.
Die Neuerungen sind eher im Inneren zu finden, denn die Transform&Lightning-Einheit wurde verbessert, und erstmalig finden sich eine
Vertex- und eine Pixel-Shader-Einheit. Im Prinzip kann man sich die Shader-Einheiten als eigene Prozessoren im Chip vorstellen, da sie jeweils eine
eigene Programmierschnittstelle besitzen. Voraussetzung für die Nutzung
dieser Features ist DirectX 8.
Chip
Chiptakt
Speichertakt
Speicher
Riva TNT 2
125 MHz
150 MHz
SDRAM
16-32 MByte
Riva TNT 2 Ultra
150 MHz
183 MHz
SDRAM
16-32 MByte
GeForce 256
120 MHz
150 MHz
SDRAM,
DDR-DRAM
32 MByte
Tabelle 3.9: Daten von NvidiaChips bis zum Jahre 2002 in der Übersicht
120
Anmerkungen
Relativ hohe
Stromaufnahme
Erstmalig T&L-Einheit
3DGrafik
Chip
Chiptakt
Speichertakt
Speicher
Kapitel 3
Anmerkungen
GeForce 2 – NV 15
GeForce 2 GTS
200 MHz
166 MHz
SDRAM,
32 MByte
GeForce 2 Pro
200 MHz
200 MHz
DDR-SDRAM,
64 MByte
Zwei Texel Units
GeForce 2 Ultra
250 MHz
230 MHz
DDR-SDRAM,
64 MByte
25 Mio. Dreiecke/s
GeForce 2 Ti
250 MHz
200 MHz
DDR-SDRAM,
64 MByte
GeForce 2 MX 400
200 MHz
166 MHz
SDRAM,
64 MByte
GeForce 3 – NV20
GeForce 3
200 MHz
230 MHz
SDRAM,
64 MByte
Erstmalig Vertex- und
Pixel-Shader
GeForce 3 Ti200
175 MHz
200 MHz
SDRAM,
64 MByte
Verbesserte T&LEinheit
GeForce 3 Ti500
240 MHz
250 MHz
SDRAM,
64 MByte
Hidden Surface
Removal
GeForce 4 Ti4200
250 MHz
250 MHz
DDR-SDRAM,
128 MByte
GeForce 4 Ti4400
275 MHz
275 MHz
DDR-SDRAM,
128 MByte
GeForce 4 Ti4600
300 MHz
325 MHz
DDR-SDRAM,
128 MByte
GeForce 4 – NV30
Zweifach VertexShader
Verbesserter PixelShader
Verbessertes FSAA
Zweiter
Monitoranschluss
DVI als Standard
GeForce 4 MX 420
250 MHz
166 MHz
SDRAM,
64 MByte
GeForce 4 MX 440
270 MHz
200 MHz
DDR-SDRAM,
128 MByte
GeForce 4 MX 460
300 MHz
275 MHz
DDR-SDRAM,
128 MByte
Nur zwei PixelPipelines
Keine Vertex/PixelShader
Tabelle 3.9: Daten von NvidiaChips bis zum Jahre 2002 in der Übersicht (Forts.)
Fast alle GeForce-Chips gibt es in verschiedenen Varianten mit Bezeichnungen wie Ultra, MX Ti (Titanium) oder auch GTS (Giga Texel Shader). Im
Wesentlichen liegen die Unterschiede dabei in den maximal erlaubten Taktraten für den Chip selbst sowie für den Speicher.
121
Kapitel 3
Das Grafiksystem
Nvidia spezifiziert diese Werte natürlich, und nach denen sollten die Hersteller der Grafikkarten eigentlich verfahren, allerdings gibt es hierfür Übertaktungstools, und entsprechende Funktionen finden sind mitunter auch
direkt bei den Eigenschaften der Grafikkarte, d.h., Übertaktungen sind
damit vom Grafikkartenhersteller sogar mehr oder weniger sanktioniert.
Wie es bei auch bei den CPUs erläutert ist, macht es aus heutiger Sicht aber
kaum noch einen Sinn, für ein paar MHz mehr die Stabilität zu riskieren.
Da es von Nvidia, selbst innerhalb einer Baureihe, eine ganze Reihe unterschiedlicher GeForce-Chips gibt, die von zahllosen Grafikkartenherstellern
verwendet werden, sind viele unterschiedlich aufgebaute Grafikkartentypen
denkbar, die nach außen hin vermeintlich identisch erscheinen. Für den
Kunden heißt es daher, die jeweiligen Daten wie Chipversion, Speichergröße
und Anschlussmöglichkeiten genau zu überprüfen und auch das mitgelieferte Zubehör (Adapter, Shutter-Brille, Spiele etc.) mit in die Kaufentscheidung einzubeziehen.
Der GeForce 4-Chip ist logischerweise der Nachfolger des GeForce 3 und
verfügt zunächst über die gleichen Grafikfähigkeiten. Der Vertex-Shader ist
hier jedoch zweifach ausgeführt, es wird direkt ein zweiter Monitorausgang
unterstützt, und die Taktraten sind – je nach Version, siehe Tabelle 3.9 –
etwas höher. Außerdem wird nunmehr DDR-SDRAM mit einer typischen
Kapazität von 128 MByte zum Standard erhoben. Die höchste Auflösung
mit 75 Hz beträgt im True Color Mode 1920 x 1080 Bildpunkte.
Bei professionellen Anwendungen treten mit diesen GeForce-Grafikkarten
jedoch unschöne Eigenschaften zutage, wie Pixelfehler in Form von Löchern
in den Objekten oder falsche Transparenzfarben bei einer Farbtiefe von
16 Bit, was bei Spielen nicht weiter auffallen mag, für CAD-Anwendungen
jedoch nicht akzeptabel ist. Die Qualität des TV-Ausgangs kann meist auch
nicht befriedigen.
Abbildung 3.16: Das PrototypDesign der GeForce 4Ti4600 der Firma Nvidia dient den Grafikkarten
herstellern als Referenz für ihre eigenen Modelle.
122
3DGrafik
Kapitel 3
Auf dem Leistungsniveau einer GeForce 2 bewegt sich der Kyro-2-Chip, wie
er beispielsweise auf der Hercules 3D Prophet zum Einsatz kommt. Der
Grafikchip wird wie der Speicher (32 MByte, SDRAM) mit einem Takt von
typischerweise 175 MHz betrieben. Eine T&L-Einheit gibt es hier zwar
nicht, dafür kann der Kyro II aber auch mit schwächeren CPUs (400-800
MHz) noch ganz flott agieren. Dies liegt im Wesentlichen daran, dass nicht
sichtbare Polygone auch nicht berechnet werden, sondern nur diejenigen,
die sich von einer Szene zur folgenden ändern und eben nicht von einem
Objekt verdeckt werden. Diese Funktionen werden als Hidden Surface
Removal und Tile Based Rendering bezeichnet.
Abbildung 3.17: Die 3D Prophet 4500 der Firma Hercules arbeitet mit einem Kyro2Chip. Wie es mittler
weile bei fast allen Grafikkarten der Fall ist, benötigt der Grafikchip eine aktive Kühlung mit einem Lüfter.
Dem Kyro-Chip liegt die PowerVR-Technologie zu Grunde, die gemeinsam
von Videologic und NEC entwickelt und erstmalig in Form des Vorgängers
– Kyro 1 – auf der Grafikkarte Apocalypse 3D von Videologic eingesetzt
wurde. Außerdem kommt PowerVR in der Sega-Dreamcast-Konsole zum
Einsatz. Durch die besonderen PowerVR-Funktionen kann der Kyro den
Speicher effektiver ausnutzen als die Chips der Konkurrenz, was neben dem
Geschwindigkeitsgewinn auch dazu führt, dass nur SDRAM und kein
DDR-SDRAM zwingend notwendig ist. Hergestellt wurden die »Kyros«
von ST (SGS, Thomson) Microelectronics, so dass sich hierfür auch die
Bezeichnung ST Kyro finden lässt. Der Nachfolger des Kyro 2 wird als Kyro
3 (STG5500) ausgewiesen und enthält auch eine Transform&LightningEinheit. Entsprechende Grafikkarten sind am Markt aber kaum in Erscheinung getreten, und diese Serie wurde mittlerweile eingestellt.
123
Kapitel 3
Das Grafiksystem
Hersteller/Typ
Speicher
Chipsatz
Chip/Speichertakt
3dfx Voodoo 4 4500
32 MB SDRAM
3dfx VSA-100
166/166 MHz
3dfx Voodoo 5 5500
64 MB DDR-SDRAM
3dfx VSA-100
(2 Chips)
166/166 MHz
ATI Radeon 32 DDR
32 MB DDR-SDRAM
ATI Radeon 7500
160/166 MHz
ATI Radeon 7500
64 MB DDR-SDRAM
ATI Radeon 7500
290/230 MHz
ATI Radeon 8500
64 MB DDR-SDRAM
ATI Radeon 8500
275/275 MHz
ATI Fire GL 8800
128 MB DDR-SDRAM
ATI Radeon 8800
250/290 MHz
Matrox Millenium G450
32 MB DDR-SDRAM
Matrox G450
166/166 MHz
Matrox Parhelia
128 MB DDR-SDRAM
Matrox Parhelia
220/275 MHz
Tabelle 3.10: Daten von bekannten Grafikkarten der vierten 3DGeneration ohne Chips
der Firma Nvidia (vgl. Tabelle 3.9). Der Takt des RAMDACS beträgt bei allen angegebenen
Typen mindestens 350 MHz.
Ähnlich wie bei den CPUs begibt man sich bei der Beurteilung der jeweiligen
Qualitäten von Grafikchips und Grafikkarten schnell auf eine »wacklige«
Argumentationsebene in der Form, dass man nur die inneren Werte der Chips
vergleicht, was für sich allein genommen nicht praxisrelevant erscheint. Die
beste 3D-Funktion nützt nichts, wenn DirectX bzw. das jeweilige Spiel diese
eben nicht nutzen kann und die Bildqualität doch nicht den Erwartungen entspricht, weil der verwendete RAMDAC minderer Qualität ist oder die Treiber einfach schlampig programmiert worden sind. Daher kann eine
allgemeine Empfehlung für diese oder jene Grafikkarte zum einen nur eine
Momentaufnahme sein, und zum anderen spielt einfach der bevorzugte Einsatzzweck (Spiele, DVD, Video, CAD)eine Rolle.
Aktuelle 3D-Grafikkarten werden mit relativ hohen Taktraten betrieben,
was dazu führt, dass sowohl der Grafikchip selbst als auch die Speicher auf
der Karte recht heiß werden. Dies kann nach einiger Zeit Betriebsdauer zu
Bildfehlern bis hin zum kompletten Versagen der Karte führen. Üblicherweise wird der Grafikchip durch einen Kühlkörper mit Lüfter entsprechend
gekühlt. Das reicht bei einem höher getakteten Chip, der mit anderen als
den vom Hersteller empfohlenen Werten betrieben wird, vielfach nicht
mehr aus, so dass dann ein kräftigerer Kühler notwendig wird.
Die Firma Matrox scheint mit ihren Grafikchips und -karten auf dem Gebiet
der Spiele abgeschlagen zu sein, legt dafür aber ein größeres Gewicht auf
stabil funktionierende Treiber und setzt z.B. bereits mit dem G400-Chip
Maßstäbe, wenn die Bildrate in 1 Hz-Schritten einstellbar sein soll und ein
Hardware-Zoom sowie standardmäßig auch ein zweiter zuverlässig funktionierender Monitor-Ausgang (Dual Head) notwendig sind. Einen Bildfüllenden TV-Ausgang gibt es hier auch bereits. Der Schwerpunkt liegt hier also
nicht bei den Spielen, sondern bei der Bildbearbeitung sowie im 3D-Design
124
3DGrafik
Kapitel 3
bei tatsächlich flackerfreien, hohen Auflösungen (2028 x 1536, 80 Hz). Vor
lauter 3D-Euphorie bleibt zuweilen leider die 2D-Qualität moderner Grafikkarten auf der Strecke, doch auch auf diesem Gebiet können die Matrox-Karten gegenüber der Konkurrenz überzeugen.
Abbildung 3.18: Die ParheliaGrafikkarte der Firma Matrox verfügt über zwei DVIIAnschlüsse für die
Ansteuerung digitaler Flachbildschirme. Durch die mitgelieferten Adapter lassen sich hiermit aber auch
analoge Monitore betreiben.
Matrox wollte mit dem Parhelia 512 für DirectX 8 nach einiger Zeit den
Typen GeForce 4 sowie Radeon 8500 auch wieder auf dem Spielsektor
Konkurrenz machen, denn dieser Chip verfügt über einen 512-Bit breiten
Speicherbus (zwei 256 Bit DDR-Controller) sowie über vierfach ausgeführte
Vertex- und Pixel-Shader und erfüllt bereits einige Anforderungen für
DirectX 9. Für das Jahr 2002 war dies zweifellos ein fortschrittliches Design
unter Verwendung von 80 Millionen Transistoren.
Trotz hervorragender Bildqualität und Farbdarstellung blieb die Leistung
der Parhelia-Grafikkarte jedoch bei den beliebten Spielen hinter den Konkurrenten zurück, da Matrox einige Spezialitäten (16-faches Fragment Anti
Aliasing, Giga Color) eingebaut hat, die von den Spieleprogrammierern
kaum eingesetzt wurden, so dass unter diesem Gesichtspunkt nach wie vor
nur die eigentlichen Matrox-Qualitäten (analoger und digitaler Mehrschirmbetrieb, gute 2D- und Video-Darstellung) bei dieser Karte von Bedeutung (geblieben) sind.
125
Kapitel 3
Das Grafiksystem
3.2.3
Das 3DFunktionsprinzip
In Echtzeit, Vollbild und mit mindestens 50 fps laufende, aktuelle Spiele verlangen von PCs eine Leistung, die vor Jahren kaum denkbar war, und die Darstellungsqualität wird dabei immer realistischer. Die gewissermaßen bereits
vorhandene 2D-Bildvorlage (im Bildspeicher) muss für die dreidimensionale
Darstellung zunächst in möglichst kleine Einheiten zerlegt werden, diese werden unter Beachtung der ursprünglichen Objekte mit Farben und Effekten versehen und dann wieder so zusammengesetzt, dass auf einem – schließlich nur
zweidimensionalen Monitor – ein möglichst realistischer 3D-Eindruck entsteht, der auch bei einem rasanten Spielablauf nicht verloren geht. Die ganze
Rechnerei ist, vereinfacht gesagt, also nur deshalb notwendig, weil ein 3D-Bild
auf einer zweidimensionalen Fläche darzustellen ist.
Grundsätzlich werden bei den 3D-Chips laufend die Taktfrequenzen und
die Breite der Datenpfade erhöht sowie bestimmte Einheiten (Pixel-, Texturpipeline) parallel ausgeführt, um dadurch das 3D-Ergebnis immer realistischer werden zu lassen, während sich das grundlegende Prinzip eines 3DBeschleunigers eigentlich seit Jahren nicht wesentlich geändert hat.
Die Festlegung der Szenerie – also, wo die einzelnen Bildelemente zu liegen
kommen sollen –, wird von der CPU des PC durchgeführt, was als DreieckSetup bezeichnet wird, weil die Objekte in eine Vielzahl von einzelnen Dreiecken (Polygonen) zerlegt werden, die später vom Rasterizer des 3D-Chip
mit bunten Punkten auszufüllen und anderweitig zu bearbeiten sind, wie es
noch erläutert wird.
Im 3D-Chip, der als Eingangsdaten Dreiecke oder auch ganze Dreiecksnetze
(Triangle Mesh) verlangt, ist die Triangle Setup Engine für die Bearbeitung
der Polygone zuständig. Der Voodoo-Chip glänzte damals mit einer Bearbeitungszeit von vier Millionen Polygonen pro Sekunde, eine GeForce 2Grafikkarte bringt es auf 25 Millionen und eine GeForce FX der 5800-Serie
auf ca. 200 Millionen Dreiecksoperationen pro Sekunde.
Die möglicherweise vorhandene Transform&Lightning-Einheit (Geometriebeschleuniger, ab GeForce 256, DirectX 7) befindet sich vor der Triangle
Setup Engine und erledigt die Koordinatentransformation sowie die
Beleuchtungsberechnung von bereits umgesetzten 3D-Objekten. Falls etwa
ein Ball durch das Bild fliegen soll, muss die CPU des PC den Datensatz des
Balls stets in die neue Lage umsetzen (transformieren) und dabei ggf. auch
noch die sich ändernde Größe und Helligkeit des Balls mit berücksichtigen.
Die T&L-Einheit entlastet die CPU des PC von diesem sehr rechenintensiven Prozess, weil sie den Ball eigenständig in die unterschiedlichen Positionen mit unterschiedlicher Größe transformieren kann.
Die Setup-Engine entfernt zunächst alle Polygone eines Objekts, die in der
aktuellen Szene (zur Zeit) unsichtbar sind, was als Back Face Culling
bezeichnet wird und dafür sorgt, dass weniger Zeit und Speicherbandbreite
zum Aufbau der Szenen benötigt werden. Diese Aufgabe übernimmt entweder der 3D-Chip selbst oder ein Treiber, der dann die CPU des PC hierfür
126
3DGrafik
Kapitel 3
verwendet, wie es beispielsweise die Nvidia-Chips praktizieren, was dazu
führt, dass sie auf eine möglichst schnelle CPU angewiesen sind.
Abbildung 3.19: Der Voodoo Banshee ist ein Kompromiss aus üblicher Grafikkarte
und 3DKarte für Spiele, verfügt aber nur über eine TextureEngine.
Grafikchips wie etwa der Banshee von 3dfx, bei dem ein 2D-Chip mit der
3D-Engine des Voodoo2 kombiniert wurde, oder auch die Kyro-Chips von
STM erledigen diese Funktion hingegen Chip-intern, so dass der Banshee
auch noch mit einer 233 MHz-Pentium CPU und der Kyro 2 mit einer 500
MHz-CPU gut zusammenspielt. Beim Banshee wurde im Übrigen die zweite
Texture-Engine des Voodoo2 weggelassen, was dazu führt, dass die Leistung bei Spielen mit Multitexturing hier gegenüber dem »richtigen«
Voodoo2-Chip schlechter ausfällt.
Andererseits belasten die Nvidia-Chips den Bus (PCI, AGP, PCIe) nicht so
stark, da die Anzahl der Dreiecke per Treiber bereits aussortiert worden ist,
was letztlich auch dazu führt, dass ein GeForce-Chip mit steigender CPULeistung auch immer bessere Resultate liefern kann. Positiv ausgedrückt
skalieren die Nvidia-Chips mit der zur Verfügung stehenden CPU-Leistung
recht gut.
Aus den bekannten Polygoneckpunkten werden daraufhin alle Zwischenwerte durch Interpolation errechnet (Floating Point), und für jeden zu interpolierenden Parameter 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 folgenden Operationen des Rasterizers, wobei
der Color Calculator außerdem eine Reihe einzelner Pipelines verwendet,
die je nach 3D-Chip unterschiedlich implementiert sein können und die
Pixel mit Optionen (Fog = Distanzeindruck, Alpha = Transparenzeindruck,
Specular = Akzentuieren) versehen.
127
Kapitel 3
Das Grafiksystem
Abbildung 3.20: Das Innenleben eines 3DGrafikchips zeigt die wesentlichen 3DFunktionseinheiten.
Dieser Signalweg, quasi vom Bus bis hin zum Rasterizer, wird auch als Pixel
Pipeline oder Render Pipeline bezeichnet und kann mehrfach (parallel) ausgeführt sein. Vier sind es beispielsweise beim GeForce2-Chip, während
aktuelle Grafikchips (siehe Kapitel 3.2.4) über bis zu 24 (z.B. GeForce
7800) dieser Einheiten verfügen. Entsprechendes gilt für den zweiten wichtigen Signalweg, die Texture Pipeline. Der Voodoo2, der Riva TNT oder
auch der Rage 128 von ATI besitzen bereits zwei Texture Pipelines, können
also gleichzeitig zwei Texturen bearbeiten. Für DirectX 9 müssen mindestens vier Texturen in einem Takt zu bearbeiten sein.
Da die Auflösung nicht beliebig erhöht werden kann, um auch kleinste
Polygone entsprechend zu manipulieren, wird zuvor oftmals noch ein Näherungsverfahren (Anti Aliasing im Scan Converter) angewendet, welches die
Pixelfarbe und den -kontrast für die weitere Weiterverarbeitung verringert,
wobei die 3D-Chips an dieser Stelle sehr unterschiedlich verfahren, was
einen maßgeblichen Einfluss auf das Endergebnis hat. Die unterschiedlichen
Kantenglättungsverfahren (FSAA) finden an dieser Stelle ihren funktionellen
Platz.
128
3DGrafik
Kapitel 3
Der Rasterizer muss überprüfen, ob sich Bildelemente vor oder hinter einem
bereits gerenderten (ausgefüllten) Element befinden, was er mit Hilfe des
Z-Buffer (Depth Buffer) des lokalen Speichers erledigt. Dieser Z-Buffer enthält die Tiefeninformation aller bereits zuvor gerenderten Polygone und ist
häufig mit dem so genannten Stencil Buffer (Stencil = Schablone) kombiniert,
der vorwiegend für die Aufgabe vorgesehen ist, bestimmte Bildbereiche vor
dem Überschreiben durch später »gerenderte« Polygone zu schützen. Mit
einer Auflösung von 16 Bit des Z-Buffer sind theoretisch 65535 verschiedene
Entfernungsstufen machbar, wobei der Trend auch hier zu höheren
Auflösungen (24, 32 Bit) geht.
Um möglichst differenzierte Farbverläufe eines Objektes zu erlangen, wäre
geradezu eine Unmenge von Polygonen notwendig, die entsprechend zu
berechnen, mit Farbe zu füllen und mit Effekten (Schatten, Nebel) zu versehen
wären. Hier kommt das Texture Mapping mit einer eigenen Pipeline (Texture
Pipeline) ins Spiel, welches Objekten (Image, Pattern, Video) quasi eine zweidimensionale Maske (U- und V-Koordinate) verpasst, d.h., ein bestimmtes
Objekt wird einmal »zusammengebaut« und dann als Textur behandelt,
deren einzelne Texturpixel (Texel) in einem Texturspeicher abgelegt und bei
Bedarf auf die passenden 3D-Polygonoberflächen gesetzt werden. Dabei sind
auch Perspektivkorrekturen (Perspective Correct, W-Koordinate) durchzuführen, um Bildverzerrungen zu vermeiden, sowie bestimmte Farben oder
Farbbereiche zu entfernen (Color Key, Chroma Clear), was der Realisierung
des räumlichen Effekts (z.B. Transparenzeffekt) dient. Für Videodaten ist
außerdem eine YUV-zu-RGB-Konvertierung vorgesehen.
Die dreidimensionale Struktur ist hiermit jedoch noch nicht optimal zu vermitteln, und daher wird auch noch mindestens das Bump Mapping verwendet, welches die Beleuchtung für die Objekte variiert und somit einen (noch
besseren) 3D-Eindruck realisiert. Einer der ersten Chips, der Bump Mapping in Hardware implementiert enthält, ist der G400 der Firma Matrox.
Alle aktuellen 3D-Grafikkarten unterstützen auch das Multitexturing und
Alpha Blending. Multitexturing erlaubt das Überlagern mehrerer Texturen
auf ein Polygon, was für die Simulation von Umgebungsreflexionen und
Lichtverteilungen zuständig ist. Alpha Blending dient der Verknüpfung von
bereits im Bildspeicher vorhandenen Polygonen mit der aktuellen Farbe. Ein
Alpha-Wert fungiert dabei als Gewichtungsfaktor der beiden Farbanteile,
wobei ein hoher Wert einen Pixel stark durchsichtig und ein geringer Wert
den Transparenzeffekt dementsprechend vermindert erscheinen lässt.
Die Texturen werden entweder direkt über den PC-Bus vom 3D-Chip angefordert oder gelangen per PIO/DMA-Transfer zunächst in den lokalen Speicher der Karte und von dort dann in den Chip. Die heutigen 3DGrafikkarten besitzen aber so viel Speicher, dass die Texturen nicht (mehr
so häufig) aus dem Hauptspeicher des PC nachgeladen werden müssen, sondern aus dem Local Frame Buffer (Bildspeicher), der ohnehin schneller als
der AGP ist, zur Verfügung gestellt werden.
129
Kapitel 3
Das Grafiksystem
Abbildung 3.21: Ein 3DGrafkchip (hier Intel 740) verfügt über eine Vielzahl von Anschlüssen für die Bus
ankopplung (PCI oder AGP) und die Anbindung des lokalen Speichers (DRAM Interface). Der RAMDAC
(Display Interface) ist hier ebenfalls untergebracht sowie die Unterstützung für Video und Digital TV Out.
Der lokale Speicher ist in verschiedene Bereiche aufgeteilt, wobei der Frame
Buffer prinzipiell über einen Front- und einen Back-Buffer-Bereich verfügt.
Hier passt jeweils ein Bild hinein, und pro Pixel sind dann je nach Farbtiefe
(16, 24, 32) zwei, drei oder vier Byte notwendig. Das aktuell sichtbare Bild
befindet sich im Front-Buffer und wird über den RAMDAC an den Monitor
gesendet, während der 3D-Chip im Back Buffer bereits das darauf folgende
Bild aufbaut. Dieses wird daraufhin zum sichtbaren Bild, und im »ehemaligen« Front Buffer ist schon wieder das nächste Bild an der Reihe. Diese beiden Buffer-Bereiche wechseln also laufend ihre Funktion, was auch als
Buffer Flipping bezeichnet wird.
130
3DGrafik
Kapitel 3
Wie oben erwähnt, residiert der Z-Buffer mit der Tiefeninformation für
jedes Pixel ebenfalls im Local Memory, und außerdem ist hier noch ein
Bereich für die Zwischenspeicherung von 3D-Koordinaten vorgesehen, der
auch als Vertex Cache bezeichnet wird und intensiv von der T&L-Einheit –
soweit vorhanden – genutzt wird. Generell gibt es für die Zwischenspeicherung von Daten in einer GPU wie auch in einer CPU, verschiedene Caches
sowie auch noch den wichtigen Texture Cache, der in der Texture Pipeline
lokalisiert ist.
Beim GeForce3 sind erstmalig Vertex- und Pixel-Shader in Hardware implementiert, deren Unterstützung mit DirectX 8 eingeführt worden ist. Während Vertex-Shader für unterschiedliche 3D-Effekte (Position, Beleuchtung)
zuständig sind, werden Pixel-Shader für Effekte wie Bump Mapping oder
auch Environment Mapping genutzt. Shader ist eigentlich eine etwas unpassende Bezeichnung, weil es sich eben nicht (allein) um die Anwendung von
Schatteneffekten handelt, sondern um recht komplexe Bewegungs- (Vertex)
und Oberflächen- (Pixel) Operationen. Außerdem können Shader allgemein
sowohl als Software als auch als Hardware ausgeführt sein, was zu weiteren
Unklarheiten führen kann.
In einem aktuellen Spiel werden gleich mehrere hundert Vertex-Programme
verwendet, die dann auf der Vertex-Hardware des 3D-Chip ohne (große)
CPU-Beteiligung ablaufen. Hiermit ist es z.B. möglich, dass die Bewegung
einer ganzen Szenerie, wie etwa das Leben auf einer Wiese, als Vertex-Information behandelt und das Aussehen eines Grashalms (glänzend, nass) mit
dem Pixel-Shader manipuliert wird.
Prinzipiell sind die genannten Bildmanipulationen zwar auch ohne ShaderEinheiten durchführbar, allerdings sind die jeweiligen Effekte und die Kombinationsmöglichkeiten mehr oder weniger vom Chip-Design her vorgegeben und belasten die CPU enorm. Die im Chip integrierten Shader-Einheiten
hingegen sind frei programmierbar und stellen gewissermaßen eigene Prozessoren innerhalb der GPU dar, so dass der Spielprogrammierer hiermit
eine neue Flexibilität erreicht, um auch eigene, ganz neue Erscheinungen
realisieren zu können, was über die Möglichkeiten einer demgegenüber eher
starren T&L-Einheit hinausgeht, die damit auch überflüssig wird.
131
Kapitel 3
Das Grafiksystem
Abbildung 3.22: Das Innenleben des Parhelia 512 zeigt die vier parallel arbeitenden Vertex und
PixelShaderEinheiten als wesentliche Bestandteile eines 3DGrafikchips.
Die ursprünglichen Shader-Version (2.0 mit DirectX9) sah eine maximale
Programmlänge von ca. 100 Befehlen vor, während das Shader Modell 3.0
(ab der GeForce 6-Familie) theoretisch bis zu 65.000 Befehle unterstützt,
was jedoch von keinem aktuellen Spiel ausgenutzt wird.
Mit DirectX 10 wird das Shader Modell 4.0 eingeführt, welches neben Vertex- und Pixel-Shader einen neuen Typ kennt: den Geometry Shader, der
primär für die Veränderung von Polygonen verwendet werden soll und
damit das Displacement Mapping durch eine flexiblere und leistungsfähigere Lösung ersetzt. Außerdem gibt es keine Trennung mehr in Vertex- und
Pixel-Shader, die prinzipiell zwar wie bisher einzusetzen sind, jedoch als
Unified Shader beide Funktion übernehmen können, was somit zu einer
besseren Auslastung des Chips führen kann.
132
3DGrafik
Kapitel 3
Die mathematische Aufgabenbewältigung durch die CPU kann durch entsprechende Code-Erweiterungen wie etwa MMX (Multi Media Extensions),
3DNOW! (AMD) oder auch ISSE2 (ab Pentium 4, Athlon64) verbessert
werden. In der Vergangenheit war es nötig, dass die Programmierer zwei
unterschiedliche Befehlssätze (Intel, AMD) verwenden mussten, so dass
diese Möglichkeit nicht umfassend genutzt wurde. Das hat sich erst in der
jüngsten Vergangenheit geändert, weil ISSE von beiden maßgeblichen CPUHerstellern mittlerweile (fast) identisch implementiert wird.
Microsofts DirectX (Direct 3D) ist dabei die allgemeine Software-Schnittstelle zu den 3D-Features, und sie ist für aktuelle Spiele unter Windows
absolut notwendig. Daneben gibt es für Spiele noch die Softwareschnittstelle Glide, die vom Hersteller 3dfx für die Voodoo-Karten definiert
wurde. Aber nur noch einige (ältere) Spiele sind sowohl mit Direct3D- als
auch mit Glide-Unterstützung verfügbar.
DirectX konnte sich erst mit verbesserten Versionen als die Programmierschnittstelle für 3D-Grafik durchsetzen. Zur »Glide-Blütezeit« hingegen bot
sich Windows, was die Leistung betrifft, keineswegs als ebenbürtige Plattform an, so dass als Alternative die OpenGL-Schnittstelle des Grafikworkstation-Spezialisten SGI (Silicon Graphics Incorporated) zusätzlich in
Windows implementiert wurde, was im Nachhinein nur als Übergangslösung für Spiele betrachtet werden kann.
Die Open Graphics Language (OpenGL) stammt aus dem professionellen
Bereich, wo sie für die Konstruktion von 3D-Objekten oder auch Computeranimationen wie etwa beim Film Independence Day verwendet wurde. Sie
wurde ursprünglich für spezielle Grafik-Workstations entwickelt und ist auf
vielen Plattformen wie Linux, UNIX, OS/2 und eben auch bei den aktuellen
Betriebssystemen von Microsoft als Softwareschnittstelle verfügbar. Dieser
Standard ist ab Windows NT 4.0 automatisch mit implementiert.
Wer vorhat, seine 3D-Grafikkarte nicht für Spiele, sondern vorwiegend für
CAD einzusetzen, sollte darauf achten, dass zur Grafikkarte auch ein aktueller OpenGL-Treiber für das jeweilige Betriebssystem mitgeliefert wird.
CAD-Anwendungen sind jedoch keineswegs eine Domäne der typischen
Spiele-Grafikkarten, sondern führen meist zu spezielleren Typen in einer
anderen Preisregion (1000-2000 Euro). Die Firma 3Dlabs, die mit ihren
Permedia-Chips bereits in der Vergangenheit im professionellen Bereich hervortreten konnte, hat bis zum Jahre 2005 mit ihren Wildcat-Modellen
(Intense-Grafikchip) dieses Profisegment bedient. Mittlerweile gibt es sie
nicht mehr, so dass sich auch auf diesem Gebiet die Firmen ATI und Nividia
den Markt aufteilen. ATI stellt verschiedene FireGL-Karten her, und Nvidia
bietet über den Hersteller PNY seine Quadro FX-Modelle an.
133
Kapitel 3
Das Grafiksystem
Im Gegensatz zu den Grafikkarten für den Spielbereich, der eine flüssige
Bilddarstellung aus aufwendig berechneten Objekten verlangt, ist bei Animations- und CAD-Anwendingen hingegen eine schnelle und hochauflösende Gometrieverarbeitung von Bedeutung.
Falls für eine PC-übliche 3D-Grafikkarte ein OpenGL-Treiber (Version
2.0) verfügbar ist, kann – mit gewissen Einschränkungen – auch mit einer
relativ preiswerten 3D-Grafikkarte das Profisegment erschlossen werden.
Diese Einschränkungen sind beispielsweise, dass keine »absolut flackerfreie« Farbdarstellung bei sehr hohen Auflösungen möglich ist und eine
mangelnde Geschwindigkeit etwa bei der Darstellung von Drahtgittermodellen auftritt.
Bei diesen Modellen kann man davon ausgehen, dass die hierfür mitgelieferten OpenGL-Treiber einen hohen Reifungsgrad aufweisen und nicht nur
relativ instabile »Schnellschüsse« sind, damit die Karte rasch am Markt ist.
Hier ist eine hohe Treiberstabilität und -zuverlässigkeit gefordert, wie man
sie aus dem PC-Spielebereich eben nicht (immer) kennt. Die Präzision der
Objektdarstellung, eine hohe flackerfreie Auflösung und das optimale
Zusammenspiel mit Profi-Software im Zweifach-Bildschirmbetrieb haben
dabei die höchste Priorität.
3.2.4
Radeon und GeForceGrafikkarten
Im Folgenden werden ausschließlich die Chips bzw. die Grafikkarten von
ATI, die mit Radeon bezeichnet werden, näher erläutert sowie die GeForceModelle der Firma Nvidia, weil sie nun einmal die Maßstäbe auf dem
Gebiet der Grafikkarten – insbesondere für den Spielbereich – setzen.
Die hier betrachteten Grafik-Chips könnten prinzipiell mehreren neuen
Generationen (vgl. vorheriges Kapitel) zugeordnet werden, was bei den
immer schnelleren Zyklen, in denen neue Grafik-Chips und entsprechende
Grafikkarten auf den Markt kommen, jedoch kaum mehr zur Beurteilung
der Innovationen sinnvoll erscheint. Seit einiger Zeit wird dem »PowerGamer« jedes halbe Jahr von ATI und Nvidia eine mehr oder weniger verbesserte Grafikkartengeneration zum Kauf empfohlen. Bei Licht betrachtet,
beschränken sich die Neuerungen jedoch auf Optimierungen und Erweiterungen bereits bestehender Architekturen, wie sie mit der fünften Generation (Tabelle 3.8) eingeführt worden sind.
ATIs Radeon 9700 stellt den ersten vollwertigen DirectX9-Chip dar und
bietet erstmalig auch einen 256-Bit-breiten Speicherbus, wenn man einmal
von der Matrox-Parhelia-Karte absieht, die sich, wie erläutert, nicht im
Spielsegment durchsetzen konnte.
134
3DGrafik
Kapitel 3
Im Frühjahr 2003 stellte Nvidia den GeForce FX-Chip (5800 Ultra) für
DirectX 9 vor, der ATIs Radeon 9700 Pro-Karte Paroli bieten sollte. Er verfügt über 125 Millionen Transistoren und arbeitet mit bis zu 500 MHz,
wobei der Herstellungsprozess (0,13µm in Kupfertechnologie) einige technische Probleme aufwarf, so dass der offizielle Erscheinungstermin mehrere
Male verschoben werden musste. Nicht nur diese Daten waren bis dahin
einmalig für einen Grafikchip, sondern auch seine Leistungsaufnahme, die
bis zu 75W betragen kann, was ein aufwändiges Kühlsystem notwendig
macht. Andere Grafikkartenhersteller haben für die GeForce FX und ihre
unterschiedlichen Ableger (vgl. Tabelle 3.12) im Laufe der Zeit Kühlsysteme
(riesige Lüfter, Heatpipe, Wasserkühlung) realisiert, die effektiver und leiser
als das Originalsystem von Nvidia arbeiten.
Abbildung 3.23: Die erste Version der GeForce FXKarte verfügt über ein recht lautes
und aufwändiges Kühlsystem.
Die Verbesserungen des GeForce FX-Chips gegenüber dem Vorgänger sind
im Wesentlichen in der höheren Präzision bei der Farbberechnung (32 Bit)
und in schnelleren Vertex- und Pixel-Shaders zu sehen. In der Gesamtleistung kann eine GeForce FX-Karte nur bedingt – in speziellen Disziplinen –
einer Radeon 9700 Pro-Karte das Wasser reichen, außerdem hat sie einen
höheren Stromverbrauch und produziert durch das aufwändige Kühlsystem
meist weitaus mehr Lärm. Erst die zweite GeForce FX-Serie (5700, 5900),
die über eine optimierte Architektur (CineFX 2.0) verfügt, kann eine vergleichbare Leistung wie die Radeon-Chips der 9700-Serie erbringen.
Das Modell GeForce FX 5800 Ultra war nur eine relativ kurze Zeit am
Markt anzutreffen und kann im Nachhinein als glückloser Schnellschuss
von Nvidia betrachtet werden, da es einen zu hohen Stromverbrauch bei
nicht angemessener Leistung bot, obwohl hier bereits DDR2-DRAM als
Grafikspeicher eingesetzt wurde, was die Karte zudem recht teuer machte.
135
Kapitel 3
Das Grafiksystem
Prinzipiell die gleichen DirectX-Funktionen (Version 9) wie die Radeon
9700 bieten die ATI-Modelle 9500 und 9600. Die Unterschiede, auch zwischen den Varianten einer Baureihe (Pro, XT), bestehen in erster Linie in
der Anzahl der Pixel-Pipelines sowie in unterschiedlichen Speicher- und
Taktauslegungen.
Dieses Prinzip zieht sich durch das gesamte Radeon-Produktspektrum,
wobei man, vereinfacht gesagt, feststellen kann, dass es sich bei den Chips,
die nicht nur mit einem »R«, sondern mit »RV« gekennzeichnet sind, stets
um leistungstechnisch reduzierte Ableger handelt, bei denen die Anzahl der
Pipelines oder auch die der Shader gegenüber den R-Modellen geringer ist.
Das Gleiche gilt für Modelle mit dem Kürzel »GT«, die dann in etwa der
Mittelklasse von Spielegrafikkarten, auf jeden Fall aber nicht den gleichnamigen High-End-Modellen zuzuordnen sind.
Ab dem Typ 9500 Pro sind jeweils acht Pipelines aktiv, bei den vorherigen
jeweils nur vier, und 16 Pipelines findet man ab dem Chiptyp R420 (nicht
RV). Der Chip R580 mit 16 Pipelines sowie 8 Vertex Shaders und 48 Pixel
Shaders ist momentan der leistungsfähigste Chip von ATI mit 384 Millionen Transistoren, der wieder in unterschiedlichen Ausführungen auf verschiedenen Grafikkarten eingesetzt (werden) wird.
Wie es generell auch bei anderen elektronischen Bauelementen – etwa bei
Prozessoren oder bei Speichern – der Fall ist, fertigt ATI nicht eine Vielzahl
unterschiedlicher Grafikchips, sondern selektiert diese nach der Fertigung
einer Charge entsprechend der daraufhin stattfindenden Messergebnisse
oder auch danach, was der Markt gerade verlangt, so dass sich mit entsprechenden Tools möglicherweise stillgelegte Pipelines oder auch höhere Taktraten als eigentlich vorgesehen einschalten lassen.
In der folgenden Tabelle sind die wichtigsten Daten der ATI-Radeon-Chips
(in ungefährer Reihenfolge ihres Erscheinungsdatums) angegeben, die neben
ATI von einer Vielzahl anderer Hersteller in deren Grafikkarten einsetzt
werden, wobei fast zahllose Kombinationsmöglichkeiten von unterschiedlichen Takt- und Speicherrealisierungen möglich sind, so dass die Tabelle
3.11 nur als Orientierung darüber dienen kann, was die Chips prinzipiell
leisten und wie typische Ausstattungen hiermit aussehen können.
136
3DGrafik
Kapitel 3
Typ
Typische RAM
Speicherauslegung
Speicher
busbreite
Chiptakt/
Speichertakt
Bus
DirectX
Version
Radeon 7000
64 MB SD
64 Bit
155/155 MHz
AGP 4x
6
250/175 MHz
AGP 4x
7
275/275 MHz
AGP 4x
8
128 Bit
250/200 MHz
AGP 4x
8
128 Bit
250/200 MHz
AGP 4x
8
RV200
Radeon 7500
64 MB DDR
128 Bit
R200
Radeon 8500
64 MB DDR
128 MB DDR
128 Bit
R250
Radeon 8500 XT
128 MB DDR
Radeon 8800
128 MB DDR
RV250 (Pipelines: 4, Vertex-Shader: 4)
Radeon 9000
64 MB DDR
128 Bit
250/200 MHz
AGP 4x
8
Radeon 9100
Radeon 8500 LE
64 MB DDR
128 Bit
275/200 MHz
AGP 4x
8
Radeon 9200
64 MB DDR
128 Bit
250/200 MHz
AGP 8x
8
Radeon 9200 Pro
64 MB DDR
128 Bit
275/275 MHz
AGP 8x
8
Radeon 9500
64 MB DDR
Radeon 9500 Pro
128 MB DDR
RV280 (Pipelines: 4, Vertex-Shader: 4)
RV300 (Pipelines: 4, Vertex-Shader: 4)
128 Bit
275/270 MHz
AGP 8x
9
128 Bit
275/270 MHz
AGP 8x
9
RV350 (Pipelines: 4, Vertex-Shader: 2)
Radeon 9550
128 MB DDR
128 Bit
250/200 MHz
AGP 8x
9
Radeon 9550 SE
128 MB DDR
64 Bit
250/200 MHz
AGP 8x
9
Radeon 9600
128 MB DDR
128 Bit
325/200 MHz
AGP 8x
9
Radeon 9600 Pro
128 MB DDR
128 Bit
400/300 MHz
AGP 8x
9
Radeon 9600 XT
128 MB DDR
128 Bit
500/300 MHz
AGP 8x
9
RV360
R300 (Pipelines: 8, Vertex-Shader: 4)
Radeon 9700
128 MB DDR
Radeon 9700 Pro
128 MB DDR
256 Bit
275/270 MHz
AGP 8x
9
256 Bit
325/310 MHz
AGP 8x
9
R350 (Pipelines: 8, Vertex-Shader: 4)
Radeon 9800
128 MB DDR
256 MB DDR
256 Bit
325/290 MHz
AGP 8x
9
Radeon 9800 Pro
128 MB DDR
256 Bit
380/340 MHz
AGP 8x
9
412/365 MHz
500/338 MHz
AGP 8x
9
R360
Radeon 9800 XT
128 MB DDR
256 MB DDR
256 Bit
Tabelle 3.11: Daten von RadeonGrafikchips der Firma ATI
137
Kapitel 3
Typ
Das Grafiksystem
Typische RAM
Speicherauslegung
Speicher
busbreite
Chiptakt/
Speichertakt
Bus
DirectX
Version
R420/423 (Pipelines: 16, Vertex-Shader: 6)
Radeon X800 Pro
256 MB GDDR3
256 Bit
475/450 MHz
AGP 8x
9
Radeon X800 XT
256 MB GDDR3
256 Bit
520/560 MHz
PCIe
9
Radeon X850 XT
256 MB GDDR3
540/500 MHz
PCIe
9b
R480 (423 (Pipelines: 16, Vertex-Shader: 6)
256 Bit
RV370
Radeon X300
256 MB DDR
128 Bit
325/400 MHz
PCIe
9
Radeon X300 SE
128 MB DDR
64 Bit
325/400 MHz
PCIe
9
475/450 MHz
PCIe
9
PCIe
9
PCIe
9c
RV380
Radeon X600
256 MB GDDR3
128 Bit
R410 (Pipelines: 8, Vertex-Shader: 8)
Radeon X700
256 MB GDDR3
128 Bit
475/500 MHz
R520 (Pipelines: 16, Vertex-Shader: 8, Pixel-Shader: 16)
Radeon X1800
256 MB GDDR3
256 Bit
625/725 MHz
RV535 (Pipelines: 4, Vertex-Shader: 5, Pixel-Shader: 12)
Radeon X1600 Pro
256 MB DDR2
512 MB DDR2
128 Bit
500/400 MHz
PCIe
9c
Radeon X1600 XT
256 MB GDDR3
128 Bit
600/700 MHz
PCIe
9c
Radeon X1300 XT
256 MB GDDR3
128 Bit
590/650 MHz
PCIe
9c
R580 (Pipelines: 16, Vertex-Shader: 8, Pixel-Shader: 48)
Radeon X1900 XT
256 MB GDDR3
512 MB GDDR3
256 Bit
650/775 MHz
PCIe
9c
Radeon X1950
512 MB GDDR4
256 Bit
650/1000 MHz
PCIe
9c
Tabelle 3.11: Daten von RadeonGrafikchips der Firma ATI (Forts.)
Wichtig ist, welche Werte der Hersteller der jeweiligen Radeon-Grafikkarte
angibt. Bei der Namensgebung gibt man sich vielfach sehr erfinderisch, und
selbst die von ATI verwendeten Kürzel wie XT oder Pro zur Ausweisung
einer entsprechenden Modellvariante, welche die Grafikkartenhersteller
ebenfalls verwenden, lassen nicht immer einen eindeutigen Schluss darüber
zu, welcher Chip zum Einsatz kommt. Dieses Prinzip lässt sich bei Grafikkarten mit Nvidia-Chips ebenfalls wieder finden.
Je höher der Takt ist, desto höher fällt auch der Stromverbrauch aus, weshalb
eine mehr oder weniger aufwändige Kühlung nicht nur des Grafikchips, sondern auch der Speicherchips auf der Grafikkarte notwendig wird. Dabei kann
das voluminöse Kühlsystem dafür verantwortlich sein, dass der benachbarte
PCI-Steckplatz blockiert wird, so dass sich hier keine Einsteckkarte verwenden lässt, was insbesondere beim Umrüsten eines PC zu beachten ist.
138
3DGrafik
Kapitel 3
Abbildung 3.24: Ein rein passives Kühlsystem bei der AsusGrafikkarte EN 7800 GT
Die leistungsfähigsten Grafikkarten benötigen in der Regel auch das aufwändigste Kühlsystem, was mittlerweile zu recht unterschiedlichen Lüfter-,
Heatpipe- und Wasser-gekühlten Systemen geführt hat. Insbesondere Lüfter, aber auch Pumpen für den Transport der Kühlflüssigkeit, arbeiten häufig recht laut, und falls ein möglichst geräuscharmer PC eingesetzt werden
soll, ist man für die Grafikkarte auf ein passives Kühlsystem angewiesen,
welches jedoch selten mit der jeweiligen als High-End geltenden Grafikkarte
zum Einsatz kommt, weil es für die Wärmeabfuhr dann doch nicht ausreicht und die Hersteller auch das Übertakten durch den Anwender mit
berücksichtigen (müssen).
Abbildung 3.25: Das klassische HeatpipeSystem bei einer Radeon X700ProKarte
139
Kapitel 3
Das Grafiksystem
Geräuschlos arbeitet ein passives Heatpipe-System. Auf dem Grafikchip ist
hierfür ein Wärmetauscher montiert, der über ein mit Kühlflüssigkeit gefülltes Rohrsystem mit einem großflächigen Radiator (Kühlkörper, oft auf der
Rückseite der Karte) verbunden ist. Durch die Temperaturdifferenz zwischen der GPU und dem Radiator bewegt sich die Flüssigkeit selbstständig
im System und führt die Hitze vom Chip weg zu den Kühlrippen, die die
Hitze dann abgeben.
Die Spannungsversorgung kann bei stromhungrigen Grafikkarten auch
nicht mehr allein über den AGP-Slot stattfinden, weil er für derartig hohe
Ströme nicht ausgelegt ist, so dass Grafikkarten der hier beschriebenen
Generation mindestens einen – GeForce FX-6800-Karten haben meist zwei
– zusätzlichen Spannungsanschluss besitzen, der mit einem Kabel des PCNetzteils, wie es auch für die Laufwerke verwendet wird, zu verbinden ist.
Abbildung 3.26: Wie fast alle aktuellen Grafikkarten verwendet auch dieses Modell – von der Rück
seite her betrachtet – mit Radeon 9500 ProChip einen zusätzlichen Spannungsanschluss, und die
SpeicherChips sind mit Kühlkörpern versehen.
Außerdem muss natürlich die maximale Leistungsabgabe des PC-Netzteils
berücksichtigt werden, da aktuelle Grafikkarten eben auch recht stromhungrig sind, so dass man hierfür zur Sicherheit bis zu 100 W einkalkulieren sollte.
In den meisten Fällen werden die Grafikkarten über die 12V-Leitung zusätzlich mit Strom versorgt, was daher bei der Leistungsangabe eines Netzteils zu
beachten ist. Nicht nur bei den (alten) AGP-Karten ist oftmals noch ein separater Spannungsanschluss zu finden, sondern auch bei aktuellen PCIe-Grafikkarten. Dies mag verwunderlich sein, denn aus den Erfahrungen der
Vergangenheit hätte man gleich bei der Definition von PCIe für Grafikkarten
(PEG) daran denken können, hier entsprechende Anschlüsse mit vorzusehen.
Stattdessen gibt es auch heutzutage wieder eine Vielzahl von unterschiedlichen, separaten und nicht miteinander kompatiblen Spannungsanschlüssen
für die zusätzliche Spannungsversorgung von PCIe-Grafikkarten.
140
3DGrafik
Kapitel 3
Falls der zusätzliche Spannungsanschluss einer AGP- oder PCIe-Grafikkarte
(aus Versehen) nicht verwendet wird, kann die Grafikkarte bzw. der PC darauf mit unterschiedlichem Fehlverhalten reagieren. Mitunter startet der PC
ganz normal bis zu dem Augenblick, wenn der Treiber des Betriebssystems für
die Grafikkarte beim Boot geladen wird, denn dann bleibt der PC hängen oder
stützt auch ab. Bei einigen Systemen erscheint bei fehlender zusätzlicher Spannungsversorgung erst gar kein Bild, und der PC lässt ein Fehlersignal ertönen.
Falls ein zusätzlicher Spannungsanschluss bei einer Grafikkarte vorhanden
ist, muss er erfahrungsgemäß auch verwendet werden!
Die Etablierung von Grafikkarten (für Spieler) ist am Markt stets der gleiche Vorgang, d.h., zunächst kommt eine neue Grafikkartengeneration zu
recht stattlichen Preisen (500-600 Euro) auf dem Markt. Davon gibt es
dann nach einiger Zeit entsprechende Modellvarianten, oft mit reduzierten
Features, was sich aber nicht unbedingt als gravierender Nachteil auswirken
muss. Außerdem treten dann meist zahlreiche Hersteller mit eigenen Produkten in Erscheinung, die mehr oder weniger auf den Referenz-Designs der
beiden maßgeblichen Hersteller beruhen, wodurch die Preise sinken. Folglich werden die Typen der vorherigen Generation auch immer günstiger.
Erfreulicher Nebeneffekt ist nicht nur, dass preisbewusste Spieler dann
manches Schnäppchen schlagen können, sondern die Treiber mittlerweile
auch ausgereift sind und eine Vielzahl von Spielen unterstützt werden.
Sowohl der Radeon X800-XT- mit 160 Millionen Transistoren als auch der
GeForce 6800-Ultra-Chip mit 220 Millionen Transistoren verfügt über
16 parallel arbeitende Pixel-Pipelines. ATI hat sie demnach gegenüber der
vorherigen Generation (Radeon 9800) verdoppelt und Nvidia (GeForce FX
5900) vervierfacht. Die Anzahl der Transistoren lässt aber keinen unmittelbaren Schluss auf die jeweilige Leistungsfähigkeit zu, da die beiden Architekturen recht unterschiedlich sind, was insbesondere den Aufbau der stark
verbesserten Shader betrifft, die zudem auf verschiedenen Modellen basieren.
ATI hat bis zur Radeon X800 standardmäßig das etablierte Shader-Modell
2 verwendet, während Nvidia zu dieser Zeit mit der GeForce 6800 bereits
das Shader-Modell 3 (ab DirectX 9.0C) integriert hat. Dieses benötigt weitaus mehr Register, bietet dem Programmierer jedoch einige Erleichterungen,
weil sich etwa für ähnliche Oberflächen ein und dasselbe Shader-Programm
verwenden lässt und sich die Effekte, von denen das Modell 3 mehr als das
Model 2 kennt, dann direkt für den jeweiligen Shader ein- oder ausschalten
lassen. Qualitätsunterschiede aufgrund unterschiedlicher Shader-Modelle
sind bei den aktuellen Grafikkarten nicht mehr feststellbar.
Auf eine genaue Beschreibung der besonderen Architekturmerkmale wird
auch hier wieder verzichtet, denn zum einen geben die Chip-Hersteller diese
kaum preis, und zum anderen würde diese Kenntnis auch nichts für die
Beurteilung der Darstellungsqualität und der Spielbarkeit bestimmter Spiele
nützen. Es wird so sein wie bisher auch, d.h., bei dem einen Spiel – oder
auch nur bei ausgewählten Szenen eines Spiels – wird ATI, bei einem ande141
Kapitel 3
Das Grafiksystem
ren Nvidia einen Vorsprung verzeichnen können. Weitere Eigenschaften,
wie der Stromverbrauch oder die Geräuschbelästigung durch aufwändige
Kühlsysteme, mögen bei der Beurteilung eine weitere Rolle spielen.
Abbildung 3.27: Eine PCIeGrafikkarte mit GeForce 7900GT und einem GDDR3 Speicher vom 512 MB
Als Grafikspeicher kommt bei den neueren Grafikkarten zumeist Graphics
Double Data Rate 3 DRAM (GDDR3) mit einer typischen Kapazität von
mindestens 256 MByte zum Einsatz, welches mit einer niedrigeren Spannung von 1,9 V arbeitet, was den Stromverbrauch reduziert und damit
höhere Taktraten erlaubt.
Typ
Typische RAM
Speicherauslegung
Speicher
busbreite
Chiptakt/
Speichertakt
Bus
DirectX
Version
NV34
GeForce FX 5200
128 MB DDR
128 Bit
250/200 MHz
AGP 8x
9
GeForce FX 5200 Ultra
128 MB DDR
128 Bit
325/325 MHz
AGP 8x
9
GeForce FX 5600
128 MB DDR
128 Bit
325/300 MHz
AGP 8x
9
GeForce FX 5600 Ultra
128 MB DDR
128 Bit
350/350 MHz
450/450 MHz
AGP 8x
9
GeForce FX 5600 XT
128 MB DDR
128 Bit
235/200 MHz
AGP 8x
9
NV31
NV36
GeForce FX 5700
128 MB DDR
128 Bit
425/450 MHz
AGP 8x
9
GeForce FX 5700 LE
128 MB DDR
128 Bit
250/400 MHz
AGP 8x
9
GeForce FX 5700 Ultra
128 MB DDR
128 Bit
475/450 MHz
AGP 8x
9
NV35
GeForce FX 5800 Ultra
128 MB DDR2
128 Bit
500/500 MHz
AGP 8x
9
GeForce FX 5900
128 MB DDR
256 Bit
400/425 MHz
AGP 8x
9
Tabelle 3.12: Daten von GeForceGrafikchips der Firma Nvidia
142
3DGrafik
Typ
Typische RAM
Speicherauslegung
Speicher
busbreite
Kapitel 3
Chiptakt/
Speichertakt
Bus
DirectX
Version
250/400 MHz
PCIe
9
475/475 MHz
AGP 8x
9
425/500 MHz
PCIe
9
NV37
GeForce PCX 5300
128 MB DDR
128 Bit
NV38
GeForce FX 5950 Ultra
256 MB DDR
256 Bit
NV39
GeForce FX 5950 Ultra
256 MB DDR
128 Bit
NV40/NV45 (Pipelines: 16, Vertex-Shader: 6)
GeForce 6800 Ultra
256 MB GDDR3
256 Bit
400/550 MHz
AGP 8x
9
GeForce 6800 Ultra
256 MB GDDR3
256 Bit
400/550 MHz
PCIe
9
GeForce 6800 LE, XT
256 MB DDR
325/350 MHz
PCIe
9
425/500 MHz
PCIe
9
NV41 (Pipelines: 12, Vertex-Shader: 5)
256 Bit
NV42
GeForce 6800 GS, XT
256 MB GDDR3
256 Bit
GeForce 6600
256 MB GDDR3
128 Bit
300/600 MHz
AGP 8x
9c
GeForce 6200
256 MB DDR
128 Bit
300/600 MHz
PCIe
9c
PCIe
9c
NV43 (Pipelines: 8, Vertex-Shader: 3)
G70 (Pipelines: 24, Vertex-Shader: 8, Pixel-Shader: 24)
GeForce 7800 GT
256 MB GDDR3
GeForce 7900
512 MB GDDR3
GeForce 7900 GT
512 MB GDDR3
256 Bit
550/850 MHz
G71 (Pipelines: 24, Vertex-Shader 8, Pixel-Shader: 24)
256 Bit
650/800 MHz
PCIe
9c
256 Bit
450/800 MHz
PCIe
9c
G72 (Pipelines: 4 oder 8)
GeForce 7300
256 MB DDR
64 Bit
550/400 MHz
PCIe
9c
GeForce 7300 GS
256 MB DDR
64 Bit
375/333 MHz
PCIe
9c
GeForce 7300 GT
256 MB DDR
128 Bit
375/333 MHz
PCIe
9c
G73 (Pipelines: 8 oder 12)
GeForce 7600
256 MB GDDR3
128 Bit
550/600 MHz
PCIe
9c
GeForce 7600 GS
256 MB GDDR2
128 Bit
400/400 MHz
PCIe
9c
GeForce 7600 GT
256 MB GDDR3
128 Bit
560/700 MHz
PCIe
9c
Tabelle 3.12: Daten von GeForceGrafikchips der Firma Nvidia (Forts.)
DVI-Anschlüsse (siehe Kapitel 3.5.3) sind bei aktuellen Grafikkarten Standard sowie PCIe (PCI Express) als Slot-Verbindung. Dieses seriell arbeitende Bussystem hat den AGP für Grafikarten mittlerweile technologisch
abgelöst. Auch wenn einige der in den beiden Tabellen angegebenen Chips
für eine Übergangszeit noch auf Grafikkarten mit AGP-Anschluss verwendet werden, ändert es nichts daran, dass für AGP zukünftig keine Neuentwicklungen mehr stattfinden werden.
143