Eine Grafikkarte steuert in einem Personal Computer die Bildschirmanzeige. Grafikkarten werden entweder als PC-Erweiterungskarten (über die Bussysteme ISA, VLB, PCI, AGP oder über PCI-Express) mit der Hauptplatine verbunden oder sie sind im Chipsatz auf der Hauptplatine vorhanden.
Inhaltsverzeichnis |
Das Grafikkarten-Prinzip wurde in Serienprodukten zum ersten Mal 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“).
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 erkannte die Lücke und bot schon 1982 eine sehr viel bessere Karte an, die Hercules Graphics Card.
Bis 1989 setzten sich die Farb-Grafikkartentypen als Standard durch, die IBM neu auf den Markt brachte:
Ab diesem Zeitpunkt verlor IBM die Standardisierungsmacht. Das ist der Hintergrund, warum auch heute noch der VGA-Modus (640 × 480 Punkte in 16 Farben) der „Notfall-Modus“ bei allen PCs ist, denn 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 1.280 × 1.024 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: 1024 × 768 Punkte.
Bis etwa 1990 beschränkten sich die Grafikkarten darauf, den Inhalt des Video-RAM über einen sog. 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. Dies war die erste Generation der Grafikkarten. Es folgten zwei weitere:
Ab 1990 entwickelten sich die Grafikkarten zu eigenständigen kleinen Computern mit eigener GPU (Graphics Processing Unit), einer so genannten 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 wurden anfänglich meist nur vom Windows-Betriebssystem genutzt, daher der Name. Das Konzept der Zusatzfunktionalität wurde mit der Zeit immer weiter geführt, so wurden z.B. seit ca. 1996 auch Funktionen zur Dekodierung von komprimierten Videodaten eingeführt (Videobeschleunigung).
Nachdem mit Doom der große Boom der 3D-Spiele Mitte der 90er-Jahre begonnen hatte, kam bald von 3dfx der erste brauchbare 3D-Beschleuniger, der so genannte 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).
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 einer Karte vereinten.
Um noch mehr 3D-Leistung anzubieten, werden heute mit der Multi-GPU-Technik (siehe auch SLI und Crossfire) zwei oder mehr 3D-Grafikkarten bzw. -prozessoren parallel geschaltet, um noch mehr Grafikelemente je Zeiteinheit berechnen zu können. Da diese Technik aber recht hohe Kosten und einen erhöhten Energiebedarf mit sich bringt, hat sie bisher nur geringen Einfluss auf den Grafikkartenmarkt.
Der Grafikspeicher dient zur Ablage der im Grafikprozessor (GPU) verarbeiteten Daten. Dies sind digitale Bilder, die später auf dem Computer-Bildschirm ausgegeben werden. Die Größe des Grafikspeichers bestimmte früher die maximale Farbtiefe und Bildauflösung; heute werden ausschließlich Grafikkarten mit sehr viel mehr Speicher als zur reinen Bildspeicherung notwendig wäre (max. 16 MByte), gebaut. Beim Rendern dreidimensionaler Grafiken werden hier 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 besitzen aktuelle Grafikkarten meist 128, 256 oder 512 MByte Grafikspeicher, inzwischen gibt es aber schon Grafikkarten mit 640, 768 und bis zu 1536 MByte Grafikspeicher.
Während neben der Größe dieses Speichers heute auch noch Latenzen eine wesentliche Rolle spielten, spielt die Ausführungstechnik des Speichers (die auch wesentlich die Latenzen bestimmt), heute keine Rolle mehr.
Grundsätzlich werden vier Typen von Grafiklösungen unterschieden:
Bei diesen Integrated Graphics Processor, kurz IGP genannten Lösungen, wurde die Funktionalität der Grafikkarte in den Chipsatz der Hauptplatine integriert. Diese IGPs bieten alle 2D-Funktionen, aber meistens nur langsame oder veraltete 3D-Funktionalität. Diese Lösungen sind vor allem für LowCost- und Büro-PCs interessant und aufgrund des sehr niedrigen Stromverbrauchs auch für Notebooks. Dieses war 2001 zur Einführung von Windows XP die gängigste Lösung. Bei besonders kompakten, oder preiswerten Geräten kann auf einen eigenen Grafikspeicher verzichtet und der Hauptspeicher des Rechnersystems mit verwendet werden (siehe Unified Memory Architecture, Shared Memory). Dies wirkt sich jedoch negativ auf Leistungsfähigkeit und Performance des Rechnersystems aus.
Anbieter von IGPs:
Neueste Notebooks mit PCIe-Schnittstelle besitzen einen austauschbaren Grafikchip, siehe Mobile PCI-Express Module.
Dies sind vollwertige Grafikkarten, bei denen wenig Augenmerk auf die 3D-Funktionen gelegt wird, sondern die vor allem ein scharfes und kontrastreiches Bild liefern sollen. Außerdem gibt es Karten mit 2D-Zusatzfunktionen. Hier ist vor allem Matrox als Anbieter erwähnenswert.
Diese Grafikkarten gibt es in verschiedenen Preisklassen von rund 40 bis zu 1000 Euro, wobei die teuren Karten das technisch Machbare im Bereich 3D-Darstellung widerspiegeln. Bei Spielekarten konkurrieren hauptsächlich AMD (ATI 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 Businesssektor 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 (einem Teil der Windows-Systemkomponente DirectX) entwickelt werden, sind Spielegrafikkarten auf Höchstleistung mit diesem System optimiert. Die aktuelle Version ist 10. Grafikkarten, die volle Hardwareunterstützung für diese Version von DirectX bieten, können praktisch alle technisch realisierbaren 3D-Rendering-Features in Echtzeit berechnen. Manche Spielehersteller setzen aber auf OpenGL, allen voran id Software.
Seit kurzem befindet sich die Version 10 von DirectX auf dem Markt, die allerdings nur in Verbindung mit dem aktuellen Windows-Betriebssystem „Vista“ funktioniert. DirectX 10 wird derzeit nur von den aktuellen Grafikkarten der NVIDIA-GeForce-8-Serie und den Karten der ATI-Radeon-HD-2000-Serie unterstützt.(Stand: Juli 2007) DirectX 10 erhöht viele Limits in der Shaderprogrammierung und soll einen geringeren Overhead als DirectX 9 aufweisen, wodurch die Ausführen von Direct3D-Befehlen schneller von Statten gehen soll. Der Nachteil ist, dass derzeit nur wenige Spiele für DirectX 10 optimiert werden (prominentestes Beispiel: Crysis), denn:
Dies sind vor allem Grafikkarten für CAD-Anwendungen. Die Karten bieten spezielle CAD-Features, die auf "normalen" Grafikkarten nur emuliert und dadurch sehr viel langsamer genutzt werden können. Nachdem der letzte Spezialchip-Anbieter 3DLabs das Geschäft 2006 eingestellt hat, bieten nur noch AMD 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 BIOS und Treiber auf OpenGL und nicht mehr auf DirectX optimiert. Obwohl sich die Hardware zwischen Spiele-3D-Chips und OpenGL-Chips nur minimal unterscheidet, kosten Profi-Karten erheblich mehr. Grund dafür ist der umfangreiche Support, der Workstation-Kunden geboten werden muss, und manche Grafikkarten mit dem sehr teuren SRAM ausgestattet sind. Die Produktlinien heißt ATI FireGL bei AMD und NVIDIA Quadro bei NVIDIA.
Außer den oben beschriebenen DirectX Grafikkarten gibt es spezielle Karten, die nur OpenGL unterstützen. Diese Karten werden im Animationsbereich häufig eingesetzt und sind heutzutage 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 dies jedoch nicht der Fall.
Um Grafikkarten benutzen zu können, ohne Hardware und Software für jede einzeln zu entwickeln, existieren verschiedene Software- und Hardware-Grafikschnittstellen.
Die bekanntesten Hardwareschnittstellen für Grafikkarten sind PCI, AGP und PCI-Express, früher waren auch ISA oder VESA Local Bus 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/Freezes oder Leistungseinbrüche, Ursache meist schlechte/fehlerhafte Implementierung der Schnittstelle).
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 Anwendungen und Hardware, die sogenannten Gerätetreiber. Ohne diese müssten Anwendungen die Hardware direkt ansprechen, um sie zu benutzen, was aber auf Grund 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 und DirectX (genauer: DirectDraw, Direct3D), die es dem Programmierer ermöglichen, einfach und unabhängig von der Grafikkarte 2D- und 3D-Grafik anzuzeigen. Für letztere 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 und/oder optisch weniger ansprechend.
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 ist es bei einigen Herstellern so, dass sie es durch den Grafikkartentreiber oder die Grafikkarte selbst unterbinden, 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 anzusehen, was dann meist den Spaß am Anschauen verdirbt.
Es wird vermutet, dass solche Beschränkungen eingebaut werden, um den Nutzer an der Aufzeichnung des Videos durch einen Videorekorder zu behindern. Jedenfalls ist in einigen mitgelieferten Handbüchern nachzulesen, dass Produkte von Macrovision (einer Firma, die für ihre Kopierbehinderungen bekannt ist) in die Grafikkarte mit integriert wurden.
Man findet in einem Handbuch beispielsweise folgende Passage:
Ein konkreter Fall ist der fglrx-Treiber von AMD, der (derzeit) nicht das hardware-unterstützte Abspielen von Videos am TV-Ausgang unterstützt.
Ein weiteres Problem war und ist die Verwendung mehrer VGA-kompatibler Grafikkarten, wie es in PCI-Systemen der Fall sein kann. Hierbei unterstützt das Betriebssystem nicht jede freie Kombination, nicht mal von Grafikkarten desselben Herstellers. Durch ein BIOS-Update kann hier jedoch manchmal Abhilfe geschaffen werden.
Hersteller von Grafikkarten: ABIT, AMD, Albatron, AOpen, GeCube, ASUS, ATI Technologies, Connect3D, Club3D, Creative Labs/3DLabs, DFI, Diamond Multimedia, ELSA, eVGA, Gainward, Genoa, GigaByte, Hercules Graphics, HIS, Leadtek, Matrox, MSI, Number Nine, Orchid Technologies, Paradise, PixelView, PNY, PowerColor, Quantum3D, Sapphire, Sigma, Sparkle, SPEA, STB Systems, TerraTec, VideoLogic, Video Seven, XFX, XpertVision
Hersteller von Grafikchips: 3dfx, 3DLabs, AMD, Alliance Semiconductor, ARK Logic, ArtX, ATI Technologies, Avance Logic, Bitboys Oy, Chips & Technologies, Cirrus Logic, GigaPixel, Matrox, NeoMagic, Number Nine, NVIDIA, Oak Technologies, Rendition, S3 Graphics, S3 Inc., SiS, Trident, Tseng Labs, Western Digital, XGI.
Auf dem heutigen Markt sind nur noch AMD, NVIDIA, Matrox und S3 Graphics als Grafikchiphersteller sowie AMD, Intel, NVIDIA, SiS und VIA Technologies als Hersteller von integrierten Grafiklösungen vertreten.
| Commons: Grafikkarte – Bilder, Videos und Audiodateien |