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