Grafikkarte
Eine Grafikkarte, historisch auch Videoadapter[1], steuert in einem Computer die Grafikausgabe. Bei Ausführung eines Programms berechnet der Prozessor die Daten, leitet diese an die Grafikkarte weiter und die Grafikkarte wandelt die Daten so um, dass der Monitor oder Projektor („Beamer“) alles als Bild wiedergeben kann. Grafikkarten werden entweder als PC-Erweiterungskarten über ein Bussystem (PCIe, früher auch AGP, PCI, VLB oder ISA) mit der Hauptplatine verbunden oder sind in einem der Komponenten auf der Hauptplatine enthalten, etwa im Chipsatz oder im Prozessor bzw. im SoC.
Die wichtigsten Komponenten moderner Grafikkarten sind: GPU, Grafikspeicher, RAMDAC sowie die Anschlüsse für externe Geräte (z. B. für den Monitor oder Grafiktablett). Die GPU sollte jedoch nicht mit der Grafikkarte als Ganzes verwechselt werden, obwohl „GPU“ oft als Referenz für die Grafikkarte genutzt wird. Auch externe Grafikkarten gibt es, die meist mit „eGPU“ (für englisch external GPU) bezeichnet werden.
Geschichte
Grafikkarte
Das Grafikkarten-Prinzip wurde in Serienproduktion erstmals beim Mikrocomputer Apple II verwendet, dessen auf der Hauptplatine integrierte Grafikfähigkeiten durch zusätzlich zu erwerbende Steckkarten verbessert werden konnten. („PAL-Farbkarte“, „80-Zeichen-Karte“). Dieser kam 1977 auf den Markt.
Der erste IBM-PC kam 1981 mit einer Karte auf den Markt, die lediglich die einfarbige Darstellung von Text ermöglichte (MDA = Monochrome Display Adapter). Die Firma Hercules bot 1982 eine bessere Karte an, die Hercules Graphics Card.
Bis 1989 setzten sich die Farb-Grafikkartentypen als Standard durch, die IBM neu auf den Markt brachte:
- 1982 die CGA-Karte (populär ab 1984)
- 1984 die EGA-Karte
- 1987 mit den PS/2-Modellen die MCGA- und VGA-Karte
Auch heute noch ist der VGA-Modus (640 × 480 Punkte in 16 Farben) der „Notfall-Modus“ bei allen PCs; nur bis zu diesem Modus kann die Hardware aller heutigen PC-Grafikkarten von der Software auf einheitliche Weise angesprochen werden.
VGA war allerdings nicht der letzte Grafikkartenstandard. Die Video Electronics Standards Association (VESA) stellte einen Standard für Videomodi bis zu einer Auflösung von 1280 × 1024 Punkten in 16 Bit Farbtiefe auf, die heute jede PC-Grafikkarte beherrscht.
Die weiteren Bezeichnungen SVGA, XGA usw. sind keine Grafikkartenstandards mehr, sondern Kurzbezeichnungen für Bildschirmauflösungen, zum Beispiel XGA mit 1024 × 768 Punkten.
Bis etwa 1990 beschränkten sich die Grafikkarten darauf, den Inhalt des Grafikspeichers über einen sogenannten RAMDAC-Baustein in Ausgangssignale für den Monitor umzuwandeln. Der Programmierer konnte im Wesentlichen nur den Textmodus nutzen sowie im Grafikmodus einzelne Pixel auf eine bestimmte Farbe setzen. Das war die erste Generation der Grafikkarten. Es folgten zwei weitere:
- Die sogenannten „Windows-Beschleuniger“
- Die 3D-Beschleuniger
Beschleunigung durch Software
Ab 1991 wurden die Grafikkarten zu eigenständigen kleinen Recheneinheiten mit eigener GPU (Graphics Processing Unit) weiterentwickelt, einer sogenannten Graphics- oder Pixel Engine oder dt. Grafikprozessor, bei dem man nicht nur einzelne Pixel setzen konnte, sondern dem man Befehle zum Zeichnen von Linien und Füllen von Flächen schicken konnte (Windows-Beschleuniger). Diese Funktionen beschleunigten vor allem das Verschieben der Fenster (Windows) der grafischen Benutzeroberfläche. Das Konzept der Zusatzfunktionalität wurde mit der Zeit immer weitergeführt, so wurden z. B. seit 1995 auch Funktionen zur Beschleunigung der Videowiedergabe (z. B. im AVI-Format) und Dekodierung von komprimierten Videodaten (z. B. MPEG) eingeführt (Videobeschleunigung). Diese Funktionen wurden vorher auf separaten Steckkarten angeboten.
Hardwarebeschleunigung
Nachdem Mitte der 1990er Jahre mit Doom der große Boom der 3D-Spiele begonnen hatte, kam bald von 3dfx der erste brauchbare 3D-Beschleuniger, der Voodoo Graphics-Chipsatz. Einem 3D-Beschleuniger kann ein Programm in einem dreidimensionalen Raum die geometrischen Figuren in Form von Polygonen und die Texturen angeben, mit denen die Flächen der Polygone gefüllt werden sollen (Rendern). Diese recht simple, aber rechenintensive Aufgabe hatte in den frühen 3D-Spielen noch die CPU übernehmen müssen; nun konnte sie an die Grafikkarte delegiert werden, was zu einer massiven Leistungssteigerung von 3D-Spielen führte (bessere Bildauflösung, wesentlich realistischere Bilder).[2]
Waren die 3D-Beschleuniger der ersten Generation noch auf eigenen Steckkarten verbaut, durch die das Grafiksignal der im System verbauten 2D-Grafikkarte durchgeschleift wurde, setzten sich bald Lösungen durch, die 2D- und 3D-Funktionalität auf derselben Karte vereinten.
Um noch mehr 3D-Leistung anzubieten, werden heute mit der Multi-GPU-Technik (siehe auch NVIDIA SLI und AMD CrossFireX) zwei oder mehr 3D-Grafikkarten bzw. -prozessoren parallel geschaltet, um noch mehr Grafikelemente je Zeitspanne berechnen zu können. Diese Technik erfordert jedoch einen hohen Kostenaufwand und Energiebedarf.
Aufbau und Funktionsweise
Hardwareschnittstellen zum System
Die übliche Hardwareschnittstelle für Grafikkarten ist PCI Express, früher waren auch ISA, VESA Local Bus, PCI und AGP gängig. Diese Schnittstellen sind entweder Bussysteme oder Direktverbindungen (AGP, PCI Express), die den Buscontroller mit der Grafikkarte verbinden. Da die Spezifikation der Schnittstellen zumeist durch Interessenverbände vorgenommen wird, in denen sowohl die Controller- als auch die Grafikkarten- bzw. Grafikchiphersteller Mitglied sind, funktionieren (im Idealfall) alle konformen Grafikkarten mit allen konformen Controllern. Es gab in der Vergangenheit aber verschiedene Probleme mit einigen Schnittstellen, die die Interoperabilität einschränkten, beispielsweise „AGP Fast Writes“ bei AGP (auf Intel-Plattformen konnte es die Leistung erhöhen, auf AMD-Plattformen für Instabilität sorgen) oder IRQ-Probleme bei PCI (mögliche Abstürze, Einfrieren oder Leistungseinbrüche, Ursache meist schlechte oder fehlerhafte Implementierung der Schnittstelle).
Bei anderen Plattformen als den IBM-kompatiblen Rechnern gab es entsprechend den dort üblichen Stecksystemen Grafikkarten für die Apple-II-Steckplätze, später bei den ersten Macs für NuBus (später PCI und dessen Nachfolger, analog zum PC), für Amigas für deren Zorro-Bus und auch Europakarten für Systeme, die auf letzteren aufbauen.
Über schnelle externe Schnittstellen wie Thunderbolt und USB-C sind auch externe Grafikkarten möglich, meist mit eGPU für englisch external Graphics Processing Unit bezeichnet.
Grafikspeicher
Der Grafikspeicher dient zur Ablage der im Grafikprozessor (GPU) verarbeiteten Daten sowie als Bildspeicher („Framebuffer“): Das sind digitale Bilder, die später auf dem Computer-Bildschirm oder mit dem Projektor ausgegeben werden.
Die Größe des Grafikspeichers bestimmte die maximale Farbtiefe und Bildauflösung. Dabei ließ sich der benötigte Speicher für eine gewünschte Auflösung und Farbtiefe vom Anwender leicht errechnen: Wenn beispielsweise die Auflösung 1600 × 1200 mit einer Farbtiefe von 24 Bit (True Color) erwünscht ist, berechnet man zunächst die Anzahl der Bildpunkte (Pixel) dieser Auflösung (1600 horizontal × 1200 vertikal = 1.920.000 Pixel insgesamt). Die Farbtiefe „24 Bit“ bedeutet, dass für jedes dieser Pixel 24 Bit Farb-Informationen vorliegen. Somit multipliziert man die Pixelanzahl mit der Farbtiefe (1.920.000 × 24 Bit = 46.080.000 Bit). Nunmehr ist nur noch die Umrechnung in Byte erforderlich. Da ein Byte aus 8 Bit besteht, wird die Zahl durch 8 geteilt (46.080.000 Bits ÷ 8 = 5.760.000 Bytes). Da früher Grafikkarten in der Regel mit 4 oder 8 MB Grafikspeicher ausgeliefert wurden, hätte man für die gewünschte Einstellung eine Grafikkarte mit mindestens 8 MB Grafikspeicher benötigt.
Heute werden ausschließlich Grafikkarten mit sehr viel mehr Speicher gebaut als zur reinen Bildspeicherung notwendig wäre. Beim Rendern dreidimensionaler Grafiken werden hier zusätzlich zum Framebuffer die Daten der Objekte, beispielsweise Größe, Form und Position, sowie die Texturen, die auf die Oberfläche der Objekte gelegt werden, gespeichert. Besonders die immer höher auflösenden Texturen haben für einen starken Anstieg der Speichergröße bei aktuellen Grafikkarten gesorgt. So liegt die Speichergröße aktueller Grafikkarten bereits im drei- bis fünfstelligen Megabytebereich (512 MB, 1024 MB, 2048 MB, 3072 MB, 4096 MB, 6144 MB, 8192 MB, 12288 MB), 512 MB und weniger sind selten geworden. Bei Spielegrafikkarten ist die Obergrenze Anfang 2019 bei 24 GB, wohingegen professionelle Grafikkarten schon mit bis zu 48 GB Grafikspeicher ausgestattet werden können.[3]
Bei Onboard-Lösungen wird meist der Hauptspeicher des Systems als Grafikspeicher genutzt, das wird als Shared Memory bezeichnet. Der Zugriff erfolgt über das jeweilige Bussystem und ist deshalb langsamer als direkt angebundener Speicher.
Grafikprozessor (GPU)
Der Grafikprozessor dient zur Berechnung der Bildschirmausgabe. Mitte der 1990er Jahre kamen die ersten 3D-Beschleuniger auf den Markt. Diese Grafikprozessoren waren in der Lage, einige Effekte und dreiecksbasierte Algorithmen (wie u. a. Z-Puffern, Texture Mapping) und Antialiasing selbstständig durchzuführen. Besonders dem Bereich Computerspiele verhalfen solche, zusätzlich zu installierenden Steckkarten (z. B. 3dfx Voodoo Graphics), zu einem Entwicklungsschub.
Heute sind GPUs wegen ihrer Spezialisierung auf Grafikberechnungen den CPUs in ihrer Rechenleistung überlegen. Als Vergleich dienen die Transistoranzahl des Grafikprozessors von Nvidia (Geforce 8800GTS 512, 754 Millionen) mit der eines Modells von Intel (Core 2 Extreme QX9650, 820 Millionen). Der Unterschied wird deutlich, wenn man bedenkt, dass über die Hälfte der CPU-Chipfläche für die 2×6 MB Cache verbraucht werden. Die Entwicklung der Integrationsdichte der Grafikprozessoren hat mit einem jährlichen Faktor von 2,4 sogar das Mooresche Gesetz übertroffen.
Wie bei den Hauptprozessoren der Rechner, in die die Grafikkarten eingebaut werden, sind auch die GPUs auf den Grafikkarten oft Gegenstand von Übertaktungsmodifikationen zur Leistungssteigerung.
Die Rechenkapazität, die auf solchen Grafikkarten zur Verfügung steht (siehe unter GPGPU), hat schon dazu geführt, dass allein zum Erzielen maximaler Rechenleistung mehrere Grafikkarten in einen Rechner eingebaut werden. Solche Systeme werden teilweise in großen Anzahlen zu Supercomputern zusammengestellt.
Kühllösungen
Aufgrund der hohen thermischen Verlustleistung durch die zunehmende Komplexität von Grafikprozessoren bzw. teilweise auch des Grafikspeichers sind ähnlich aufwendige Kühllösungen wie bei Prozessorkühlern notwendig. Grafikkarten verbrauchen mit einem Grafikprozessor (Nvidia Titan RTX) bis zu 280 Watt (TDP) Leistung, die vollständig als Wärmeenergie abgeführt werden muss. Dazu existieren mehrere Ansätze:
- aktive Luftkühlung – die thermische Energie wird über einen Kühlkörper an die Umgebungsluft abgegeben, welche durch Lüfter umgewälzt wird. Das ist die einfachste und preiswerteste Variante, große Wärmemengen abzuführen, verursacht allerdings auch Störgeräusche.
- passive Luftkühlung – durch einen Kühlkörper wird die thermische Energie durch Konvektion an die Umgebungsluft abgegeben. Das ist nur bei geringen Leistungen oder mit sehr großen Kühlkörpern möglich. Oft werden auf beiden Seiten der Grafikkarte großflächige Kühlkörper angebracht, welche mit einer Heatpipe verbunden sind. Vorteile sind dabei der geringere Stromverbrauch (siehe auch: Green IT) und das Wegfallen von Lüftergeräuschen, Nachteile sind die schwierigere Verbaubarkeit und die höhere mechanische Belastung des Steckplatzes durch teils schwere, sehr große Kühlkörper.
- Wasserkühlung – wie auch für CPUs manchmal eine Wasserkühlung eingesetzt wird, kann auch die Grafikkarte in einen (bzw. den gleichen) Kreislauf eingebunden werden. Die thermische Energie wird dann an das Wasser im Kreislauf und von dort über einen Radiator an die Umgebungsluft abgegeben. Das ermöglicht einen Transport von großen Wärmemengen, ist aber auch die aufwendigste und teuerste Kühllösung. Es existieren auch einige Karten mit vorinstallierter Wasserkühlung mit dem Vorteil, dass die Garantie erhalten bleibt. Einige Händler bieten auch bereits montierte Wasserkühler an und bieten dann von sich aus eine Garantie an, obwohl die Herstellergarantie mit der Montage eines anderen Kühlers enden würde. Der Vorteil einer Wasserkühlung bei GPUs liegt darin, dass diese größer sind als CPUs und es zudem weniger thermische Hotspots im Chip gibt, also die große Menge Wärme gleichmäßiger abgegeben werden kann.
Besonders die Konstruktionen der Luftkühlungen sind durch die benötigte Oberfläche des Kühlkörpers oft wesentlich größer als es die Spezifikationen des Steckplatzes zulassen (vgl. Abb. rechts). Aus diesem Grund können auf dem Mainboard oft die angrenzenden Steckplätze nicht verwendet werden.
RAMDAC
Der RAMDAC (Random Access Memory Digital/Analog Converter) ist ein Chip, der für die Umwandlung von digitalen (Videospeicher) in analoge Bildsignale (Monitor) verantwortlich ist. Von ihm werden die Signalausgänge angesteuert. Er kann auch im Grafikprozessor integriert sein.
Externe Signalausgänge
- DisplayPort
- DisplayPort ist ein relativ neuer Verbindungsstandard für Bild- und Tonsignale. Er ist kompatibel zu VGA, DVI und HDMI 1.4 und unterstützt die Kopierschutzverfahren HDCP und DPCP (DisplayPort Content Protection). Im Jahre 2014 ist die Verbreitung bereits vorangeschritten. Im professionellen Umfeld, besonders bei Apple-Hardware, hat sich DisplayPort bereits etabliert.
- DVI-Out / Mini-DVI
- Der DVI-Ausgang liefert ein digitales Signal und damit die beste erreichbare Bildqualität an Bildschirmen mit DVI-Eingang. Die meisten heutigen Grafikkarten sind mit einem DVI-I-Anschluss (i für integrated) ausgestattet und liefern damit zusätzlich ein analoges RGB-Bildsignal. Somit können mit einem (meist beiliegenden) passiven Adapter auch Bildschirme mit analogem D-Sub-Eingang angeschlossen werden, die Bildqualität entspricht dann jedoch weitestgehend der des D-Sub-Ausgangs. Weiterhin existieren die Varianten DVI-D mit ausschließlich digitalen Signalleitungen und DVI-A mit ausschließlich analogen Signalleitungen. Bei DVI-D sind die Varianten (Single-Link-)DVI und Dual-Link-DVI zu unterscheiden, letztere beinhaltet doppelt so viele Datenleitungen und kann damit eine größere Bandbreite liefern. Das ist für Auflösungen größer als WUXGA (1920 × 1200) notwendig, um trotz der größeren Datenmenge pro Bild eine Bildwiederholfrequenz von mindestens 60 Hertz zu gewährleisten. Wie bei VGA existiert auch eine Mini-DVI-Variante für Notebooks ohne Platz für eine vollwertige Buchse.
- HDMI-Out
- Seit 2007 werden auch Grafikkarten mit HDMI (High Definition Multimedia Interface)-Ausgang angeboten. Hier wird das Videosignal ebenfalls digital und gegebenenfalls mit HDCP verschlüsselt ausgegeben. Über HDMI können auch DVI-D-Signale übertragen werden, womit DVI-Geräte kompatibel zu HDMI sind. Die Unterstützung von HDCP ist bei DVI jedoch optional, weswegen nicht alle Geräte derartig geschützte Signale wiedergeben können. Die Übertragung von Tonsignalen ist jedoch nur über HDMI-Verbindungen möglich.
- LFH60
- Low Force Helix 60 (LFH60) ist ein 60-poliger Steckverbinder. Die Kontakte sind in vier Reihen zu 15 Pins angeordnet. LFH60 wird in der Netzwerktechnik und PC-Technik eingesetzt. Die Buchse wird als LFH60-F (female) und der Stecker als LFH60-M (male) bezeichnet. Der Stecker wird von einigen Herstellern (z. B. Matrox) zum Anschluss einer Kabelpeitsche für zwei DVI-Stecker verwendet.
- VGA-Out / Mini-VGA
- An einer 15-poligen D-Sub-Buchse wird ein analoges RGB-Signal bereitgestellt. Unter beengten Platzverhältnissen ist der Ausgang auch als Mini-VGA ausgeführt (z. B. beim Apple iBook). Über ein VGA-Kabel mit entsprechendem Stecker werden CRT-Monitore (Röhrenmonitore), Projektoren oder Flachbildschirme angeschlossen.
Zusätzliche Signalausgänge und auch -eingänge sind je nach Karte unterschiedlich realisiert. Teilweise sind entsprechende Buchsen (Cinch, S-Video, LFH60) direkt auf dem Slotblech vorhanden. Vor allem aus Platzgründen sehen Hersteller aber auch einen mittelbaren Anschluss über Adapterkabel oder Kabelpeitschen vor. Dann findet sich direkt auf der Grafikkarte eine Buchse, z. B. aus der Mini-DIN-Familie, deren Beschaltung nicht standardisiert ist und die oft die allgemeine Bezeichnung VIVO (für Video-In-Video-Out) hat. Hier wird eine herstellerspezifische Kabelpeitsche angeschlossen, die dann weitere Anschlussmöglichkeiten zur Verfügung stellt.
- Component-Out
- Über den Komponenten-Ausgang (drei Cinch-Buchsen) werden HDTV-Videodaten analog YPbPr-farbkodiert ausgegeben. Der Ausgang ist wie oben beschrieben meist nicht direkt auf der Grafikkarte ausgeführt.
- TV-In
- (auch Video-In) Neben einem Ausgang verfügen manche Karten auch über einen TV-Eingang zum Digitalisieren von externen analogen Videoquellen. Da es kaum Situationen gibt, bei denen TV-Out und TV-In gleichzeitig gebraucht werden, sowie aus Platz- und Kostengründen, sind TV-In und TV-Out oft in einer Buchse realisiert (Video-In-Video-Out). In diesem Fall ist eine gleichzeitige Nutzung als TV-In und TV-Out nicht möglich.
- TV-Out
- (auch Video-Out) Der als Cinch- oder S-Video-Buchse ausgeführte TV-Ausgang (englisch TV-Out) kann mit einem Fernseher oder Projektor verbunden werden. Man kann so mit mehreren Bildschirmen (PC-Bildschirm + Fernseher) arbeiten. Allerdings ist die Signalqualität des Anschlusses meist nicht sehr hoch, da es sich um ein analoges FBAS- oder S-Video-Signal handelt und die meisten Karten nicht den nötigen Schaltungsaufwand treiben, um aus diesen Signaltypen das Bestmögliche herauszuholen. Positive Ausnahmen sind einige ältere Matrox-Karten (z. B. die G400 MAX).
Bauformen und Anwendungsgebiete
Grundsätzlich können verschiedene Typen von Grafiklösungen unterschieden werden, die sich nach dem technischen Aufbau oder dem Anwendungsgebiet abgrenzen.
Integrierter Grafikprozessor (Onboard Grafikprozessor)
Bei diesen
, kurz IGP,[4] oder
, kurz iGPU,[5] genannten Lösungen wird die Funktionalität der Grafikkarte in den Prozessor („Prozessorgrafik“) oder in den Chipsatz der Hauptplatine („Onboard-Grafikkarte“) integriert. IGPs bieten meist alle 2D-Funktionen, aber im Vergleich zu dedizierten Grafikkarten oft nur langsame und eingeschränkte 3D-Funktionalität und werden daher vornehmlich in Bereichen mit geringeren Grafikanforderungen eingesetzt, wie z. B. in Büro-PCs. Wegen ihres niedrigen Stromverbrauchs werden sie auch häufig in Notebooks genutzt. Der niedrige Stromverbrauch ist auch ein Motiv zum Einsatz in Embedded-PCs; bei besonders kritischen Anwendungen wie beispielsweise in der Medizin kommt der Vorteil hinzu, dass die Ausfallquelle der Steckkontakte zwischen Hauptplatine und Grafikkarte entfällt. Bei integrierten Grafiklösungen wird meist auf eigenen Grafikspeicher verzichtet und stattdessen der Hauptspeicher des Rechners mitverwendet (siehe Unified Memory Architecture, Shared Memory), was sich jedoch negativ auf die Leistungsfähigkeit auswirkt.
Anbieter von IGPs:
Neueste Notebooks mit PCIe-Schnittstelle können einen austauschbaren Grafikchip besitzen (siehe Mobile PCI Express Module), was sich jedoch (noch) nicht als Standard durchgesetzt hat.
Business-Lösungen
Das sind vollwertige Grafikkarten, bei denen wenig Augenmerk auf die 3D-Funktionen gelegt wird, sondern die vor allem ein scharfes und kontrastreiches Bild liefern sollen. Es gibt auch Varianten mit 3D-Zusatzfunktionen, vor allem für CAD-Anwendungen.
Spielegrafikkarten
Diese Grafikkarten gibt es in verschiedenen Preisklassen von rund 25 € bis zu 2700 €, wobei die teuren Karten das technisch Machbare im Bereich 3D-Darstellung widerspiegeln. Bei Spielekarten konkurrieren hauptsächlich AMD (AMD-Radeon-Serie) und Nvidia (Geforce-Reihe) miteinander, deren Chips von einer Vielzahl von Herstellern auf deren Grafikkarten verwendet werden. Daneben gibt es noch Anbieter wie S3 Graphics, Matrox (gehörte zu den Pionieren der 3D-Spielegrafikkarten, wurde aber von der mächtigen Konkurrenz in den professionellen Markt zurückgedrängt) und XGI Technology, die aber nur eine untergeordnete Rolle spielen und meist in Büro-PCs Verwendung finden.
Da die meisten Spiele für Microsofts Direct3D-Schnittstelle (ein Teil der Windows-Systemkomponente DirectX) entwickelt werden, sind Spielegrafikkarten auf Höchstleistung mit diesem System optimiert. Grafikkarten, die volle Hardwareunterstützung für die aktuelle DirectX-Version bieten, können praktisch alle technisch realisierbaren 3D-Rendering-Funktionen in Echtzeit berechnen. Manche Spielehersteller setzen aber auf OpenGL, allen voran id Software.
Seit 2006 befindet sich die Version 10 von DirectX auf dem Markt, die allerdings nur in Verbindung mit den Microsoft-Betriebssystemen Windows Vista und Windows 7 funktioniert. DirectX 10 wird seitens Nvidia von der Nvidia-GeForce-8-Serie und aufwärts unterstützt, seitens AMD von den Karten der ATI-Radeon-HD-2000-Serie und aufwärts. Karten ab der ATI-Radeon-HD-3000-Serie unterstützen sogar bereits die Nachfolgerversion DirectX 10.1, die mit dem Service Pack 1 für Windows Vista ausgeliefert wird und nur geringe Neuerungen bringt (Verwendung in nur wenigen Spielen, etwa dem Luftkampfspiel H.A.W.X. oder Bethesdas Skyrim). DirectX 10 erhöht viele Beschränkungen in der Shaderprogrammierung und soll einen geringeren Overhead als DirectX 9 aufweisen, wodurch das Ausführen von Direct3D-Befehlen schneller vonstattengehen soll. Der Nachteil ist, dass seit der Einführung von DirectX 10 nur wenige Spiele für DirectX 10 optimiert werden (prominentestes Beispiel: Crysis), da der kommerzielle Verkauf von Windows Vista erst am 30. Januar 2007 begann und die Nutzung der neuen Effekte von DirectX 10 eine enorme Rechenleistung benötigen und folglich nur auf High-End-Grafikkarten zufriedenstellend funktionieren. Viele neue Spiele unterstützen oftmals immer noch nur DirectX 9 und manchmal parallel DirectX 11, DirectX 10 hat daher nur noch eine geringe Bedeutung.
Seit Ende 2009 gibt es DirectX in Version 11. Diese Version wird bei den Karten von ATI (bzw. AMD) ab der „HD5000“-Reihe und ab der „GTX-400“-Serie von Nvidia unterstützt. Der Start von DirectX 11 lief besser als der von DirectX 10, da es bei Einführung von Windows 7 und damit DirectX 11 bereits ein Spiel mit DirectX 11 gab (BattleForge) und weitere schnell folgten. Die Spiele unterstützen jedoch alle noch DirectX 9, was sie auch auf Windows XP lauffähig macht.
Neben Direct3D gibt es als weiteres Grafik-API OpenGL in der aktuellen Version 4.2, das mit einem etwas größeren Funktionsumfang als Direct3D 11 aufwartet.
Im Jahr 2013 stellte AMD zudem die API AMD Mantle vor, die bislang nur mit AMD-Grafikkarten ab der ATI-Radeon-HD-7000-Serie verwendet werden kann. Mantle bietet sowohl eine bessere Leistungsausnutzung bei Mehrkernprozessoren als auch einen geringeren Entwicklungsaufwand als Direct3D. Die Unterstützung für Mantle beschränkt sich derzeit noch auf wenige Spiele. Die Frostbite-3-Engine (siehe Frostbite-Engine) unterstützt Mantle voll, somit sind Spiele wie Battlefield 4, Dragon Age: Inquisition oder Star Wars: Battlefront mit Mantle spielbar. In Zukunft ist eine Unterstützung von Nvidia-Grafikkarten und Linux-Betriebssystemen durchaus denkbar, aber noch nicht von AMD angekündigt.
2016 erschien vom OpenGL-Entwickler Khronos Group die API Vulkan, die OpenGL ablösen soll.
Stand der Technik
Die aktuellen Spitzenmodelle stellen mit Stand 2020 Nvidia mit der Geforce RTX 3090 auf Basis des in 8 nm gefertigten "GA102-300" Chip der "Ampere" Architektur.[6] Mit der RTX 3000-Reihe erscheint auch eine Nvidia-Quadro-RTX-Grafikkarte, die ebenfalls auf der Ampere-Architektur basiert und mit 48 GiB Grafikspeicher aufwartet. 2021 soll das für professionelle Anwender ausgerichtete Modell erscheinen.[7]
Auf der CES 2019 hat AMD die Radeon VII vorgestellt, sie besitzt 16 GB HBM-2-Speicher und erschien am 7. Februar 2019.[8]
Nvidias Mittelklassemodelle sind zurzeit (Stand: Q4 2020) die Geforce GTX 1650, GTX 1650 SUPER, GTX 1660, GTX 1660 SUPER, GTX 1660 Ti. Die GTX 1650 und die GTX 1660 haben 4GB (1650) und 6GB (1660) GDDR5 Grafikspeicher. Die GTX 1650 SUPER, GTX 1660 SUPER und die GTX 1660 Ti haben 4GB (1650 SUPER) und 6GB (1660 SUPER / Ti) GDDR6 Grafikspeicher.
AMD's aktuelle Mittelklassemodelle sind die Radeon RX 5300, RX 5500 / XT und die RX 5600 / XT. Alle Modelle haben GDDR6 Grafikspeicher. Die RX 5300 hat 3GB, die RX 5500 hat 4GB, die RX 5500 XT 4 und 8GB, die RX 5600 / XT hat 6GB Grafikspeicher.
Professionelle Lösungen
Das sind vor allem Grafikkarten für CAD- und GIS-Anwendungen. Die Karten bieten spezielle für CAD/GIS notwendige Funktionen, die auf „normalen“ Grafikkarten nur emuliert und dadurch sehr viel langsamer genutzt werden können. Seit der letzte Spezialchip-Anbieter 3DLabs 2006 das Geschäft eingestellt hat, bieten nur noch AMD (unter dem Markennamen ATI) und Nvidia Lösungen für das OpenGL-Workstation-Segment an. Die beiden Firmen nutzen dabei Derivate ihrer Spielegrafikkarten-Chips. Diese werden dann mit einem modifizierten ROM und Treiber auf die 2D-Darstellung von OpenGL und nicht mehr auf die 3D-Darstellung von DirectX und OpenGL optimiert. Dabei unterstützen die Treiber dieser Grafikkarten das Zeichnen mehrerer Millionen geglätteter Linien und User-Clip-Planes.[3] Obwohl sich die Hardware zwischen Spiele-3D-Chips und OpenGL-Chips nur minimal unterscheidet, kosten Profi-Karten erheblich mehr. Grund dafür ist das Optimieren der Treiber, der umfangreiche Kundendienst, der Workstation-Kunden geboten werden muss, und das sehr teure SRAM, mit dem manche Grafikkarten ausgestattet sind. Weiterhin sind oft zusätzliche Fähigkeiten vorhanden wie DisplayPort-Anschlüsse zur Nutzung eines höheren Farbumfangs oder die Projektion einer großen Fläche mit mehreren Bildquellen. Die Produktlinien heißen bei AMD ATI FireGL bzw. inzwischen AMD FirePro und bei Nvidia Quadro.
Sonstiges
Außer den oben beschriebenen DirectX-Grafikkarten gibt es spezielle Karten, die nur OpenGL unterstützen. Diese werden häufig im Animationsbereich eingesetzt und sind heute für Spieler völlig uninteressant, da die meisten PC-Spiele nur noch DirectX unterstützen (anders jedoch auf der Macintosh-Plattform). Standardmäßig beherrscht jede heutige DirectX-Grafikkarte auch OpenGL, umgekehrt ist das jedoch nicht der Fall.
Seit den Anfängen der programmierbaren Grafikpipeline im Jahr 2000 besteht die Möglichkeit, die Rechenleistung der Grafikprozessoren zur Berechnung von parallelisierbaren Rechenoperationen, wie sie z. B. bei technischen und wirtschaftlichen Simulationen vorkommen, zu nutzen. Diese Anwendung wird als GPGPU (General Purpose Computation on Graphics Processing Unit) bezeichnet, siehe auch bei CUDA.
Software-Grafikschnittstellen
Um Grafikkarten benutzen zu können, ohne Hardware und Software für jede einzeln zu entwickeln, existieren verschiedene Software-Grafikschnittstellen.
Vor allem auf grundlegender Funktionsebene interessant ist das BIOS, das wichtige Text- und Grafikausgabefunktionen bereitstellt, die u. a. von Textkonsolen unter DOS oder Linux genutzt werden. Diese Funktionen sind relativ langsam, funktionieren aber zuverlässig auf jeder Grafikkarte.
In den meisten heutigen Betriebssystemen liegt eine Abstraktionsschicht zwischen Programmen und Hardware, die sogenannten Gerätetreiber. Ohne diese müssten Programme die Hardware direkt ansprechen, was aber aufgrund der Unterschiede zwischen Grafikkarten zu einer hohen Spezialisierung und damit hohem Programmieraufwand für die Unterstützung vieler Grafikkarten führen würde. Da aber Grafikkartentreiber ebenfalls sehr unterschiedliche Funktionen anbieten können, wurden im Laufe der Zeit verschiedene Grafik-APIs entwickelt, die den Zugang zu diesen Funktionen erleichtern sollen. Die bekanntesten darunter sind OpenGL, DirectX (genauer: DirectDraw, Direct3D) und Quartz, die es dem Programmierer ermöglichen, einfach und unabhängig von der Grafikkarte 2D- und 3D-Grafik anzuzeigen. Für DirectX und Quartz setzen die Schnittstellen nicht unbedingt Hardware-3D-Funktionen der Grafikkarte voraus, nutzen diese aber, falls sie vorhanden sind. Ältere 3D-Anwendungen können im Prinzip auch auf Computern mit integrierter Grafik oder einer einfachen 3D-Karte laufen, jedoch relativ langsam oder optisch weniger ansprechend.
Für das Betriebssystem EComstation wurde der universelle Panorama-Treiber[9] entwickelt, der alle gängigen Grafikkarten bedient.
Softwareprobleme mit Grafikkarten
Da viele Grafikkarten heutzutage das flüssige Anschauen von Videos mittels des Rechners durch Hardwarebeschleunigung erlauben und ebenfalls viele Grafikkarten einen TV-Out-Anschluss haben, ist es naheliegend, den Rechner an einen Fernseher oder einen Videorekorder anzuschließen. Jedoch unterbinden es einige Hersteller durch den Grafikkartentreiber oder die Grafikkarte selbst, beide Fähigkeiten miteinander zu verbinden. So kommt es vor, dass beim Abspielen von Videos zwar die gesamte Benutzeroberfläche sichtbar ist, das Video selbst jedoch nicht. Unter Linux funktioniert dann beispielsweise die XVideo-Implementation nur bei der primären Anzeige (also dem Computer-Monitor), nicht jedoch beim TV-Out-Anschluss. Dieses Problem kann man meist umgehen, indem man die Hardwarebeschleunigung für das Dekodieren von Videos ausschaltet, jedoch ist das Video dann oft nicht mehr flüssig.
Es wird vermutet, dass solche Beschränkungen eingebaut werden, um den Nutzer an der Aufzeichnung des Videos durch einen Videorekorder zu hindern. Jedenfalls ist in einigen mitgelieferten Handbüchern nachzulesen, dass Produkte von Macrovision (einer Firma, die für ein Kopierschutzverfahren bekannt ist) in die Grafikkarte integriert wurden.
Ein konkreter Fall ist der fglrx-Treiber von AMD, der (derzeit) nicht das hardwareunterstützte Abspielen von Videos am TV-Ausgang unterstützt.
Ein weiteres Problem war und ist die Verwendung mehrerer VGA-kompatibler Grafikkarten, wie es in PCI-Systemen der Fall sein kann. Dabei unterstützt das Betriebssystem nicht jede freie Kombination, nicht einmal von Grafikkarten desselben Herstellers. Durch eine Aktualisierung des ROMs auf der Karte kann hier jedoch manchmal Abhilfe geschaffen werden.
Hersteller
Hersteller von Grafikchips: 3dfx, 3DLabs, AMD, Alliance Semiconductor, ARK Logic, ArtX, ATI Technologies, Avance Logic, Bitboys Oy, Chips & Technologies, Cirrus Logic, Intel, Matrox, NeoMagic, Number Nine, Nvidia, Oak Technology, Rendition, S3 Graphics, S3 Inc., SiS, Trident, Tseng Labs, Western Digital, XGI.
Hersteller von Grafikkarten: Abit, Albatron, AOpen, Asus, ATI Technologies, AXLE3D, Club 3D, Connect3D, Creative Labs/3DLabs, DFI, Diamond Multimedia, ELSA Technology, EVGA, Elitegroup, Gainward, Galaxy Microsystems Ltd., KFA2, GeCube, Genoa, Gigabyte, Hercules Graphics, HIS, Inno3D, Leadtek, Matrox, MSI, miro, Number Nine, Orchid Technologies, Palit Microsystems Ltd., Paradise Systems, PixelView, PNY, PowerColor, Quantum3D, Sapphire, Sigma, Sparkle, SPEA, STB Systems, TerraTec, VideoLogic, Video Seven, XFX, XpertVision, Zotac.
Heute sind nur noch AMD / ATI Technologies, Nvidia, Matrox und S3 Graphics als Grafikchiphersteller auf dem Markt, sowie AMD, Intel, Nvidia, SiS und VIA Technologies als Hersteller von integrierten Grafiklösungen.
Siehe auch
Weblinks
- Jens Dünow: Pixelkunst. Heise Verlag, 15. Januar 1999, abgerufen am 22. Januar 2017 (Erklärung wie eine 3D-Grafikkarte funktioniert).
Einzelnachweis
- ↑ Michael Halvorson, David Rygmyr: Arbeiten mit MS-DOS QBasic: Das optimale Benutzerhandbuch von Microsoft für das neue MS-DOS BASIC. Friedrich Vieweg & Sohn, 1991, ISBN 978-3-528-05164-8, 11. Mit Grafiken und Tönen arbeiten, S. 340, Video-Adapter (eingeschränkte Vorschau in der Google-Buchsuche – englisch: Running MS-DOS QBasic. Übersetzt von Theresia Sader, Siegfried Sader).
- ↑ Archivierte Kopie (Memento des Originals vom 1. Juli 2011 im Internet Archive) Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.
- ↑ a b c't 2009/2, S. 126, Bauarbeiter – Grafikkarten für professionelle CAD- und 3D-Anwendungen
- ↑ Benjamin Kraft: GPUs für Büro-PC und Workstation. In: c’t. PC-Selbstbau 2019. Heise-Verlag, 2019, S. 104 (eingeschränkte Vorschau in der Google-Buchsuche): „Die einfache integrierte Prozessorgrafik ist besser als ihr Ruf: […] Bei Workstations gelten andere Anforderungen, die erst dedizierte Grafikkarten erfüllen.“
- ↑ Jonas Nann: Computer verstehen und selber bauen: Rekenaar Company. Books on Demand, 2016, S. 23 (eingeschränkte Vorschau in der Google-Buchsuche): „Die integrierte Grafikeinheit – integrated Graphics Processing Unit (iGPU)“
- ↑ GPU-Spezifikation der NVIDIA GeForce RTX 3090. Abgerufen am 18. Dezember 2020.
- ↑ https://www.techpowerup.com/272492/nvidias-ampere-based-quadro-rtx-graphics-card-pictured. Abgerufen am 18. Dezember 2020.
- ↑ Kevin Lee: AMD Radeon VII release date, news and features. techradar, 30. Januar 2019, abgerufen am 5. Februar 2019 (englisch).
- ↑ ecomstation.com