Die Technik aktueller Grafikkarten
Grafikpipeline, Shader und GPGPU
von Mark Lubkowitz - 06.11.2013
Simcity: Ohne eine leistungsstarke 3D-Grafikkarte ließen sich solche Szenen am PC kaum darstellen. Sämtliche Berechnungen zum Rendern der Spielwelt übernimmt die Grafikkarte.
Die Datenlieferung erfolgt durch das Programm, etwa das Spiel. Bei der Geometrieberechnung werden aus den einzelnen Punkten Flächen errechnet. So entsteht das grundlegende 3D-Modell der Spielwelt. Bei der Rasterung wird geprüft, welche Flächen der vielen Objekte für den Spieler sichtbar sind und welche durch Überlappung verdeckt werden. Nur die Flächen, die der Spieler tatsächlich sieht, erhalten dann Texturen, Farben und die richtige Beleuchtung. Im letzten Schritt werden die Daten an den Bildschirm weitergegeben.
Es gibt aber nicht nur eine, sondern mehrere Grafikpipelines. Somit lässt sich die Berechnung auf mehrere Pipelines aufteilen. Die Besonderheit ist, dass die Pipelines logisch voneinander abhängig sind. Erst wenn auf jeder Pipeline der gleiche Berechnungsschritt abgeschlossen ist, wird der nächste Schritt auf allen Pipelines in Angriff genommen.
Shader
Bei Shadern handelt es sich um Kleinstprogramme. Sie werden zur Berechnung der verschiedenen Grafikeffekte in Spielen und Programmen verwendet. Ein Spiel teilt den Shadern eine Formel mit, die die Shader als Grundlage für eine Berechnung verwenden sollen. Anschließend erhalten die Shader von dem Spiel Werte, die sie in die Formel einsetzen und dessen Ergebnis sie ermitteln sollen. Shader kommen in der Grafikpipeline während der Rasterung zum Einsatz.
Ausgeführt werden die Shader-Programme auf den Stream-Prozessoren der Grafikkarte. Je mehr Stream-Prozessoren, desto mehr Shader-Programme können also parallel ausgeführt werden. Bei sehr günstigen Grafikkarten wird auf die Stream-Prozessoren entweder ganz verzichtet oder es sind nur sehr wenige implementiert. Die Berechnung muss dann von der CPU vorgenommen werden. Shader-lastige Spiele – dazu zählen alle aktuellen Titel – laufen dann entsprechend langsamer und weniger flüssig.
GPGPU
Nvidia Tesla K20: Das ist keine Grafikkarte, sondern ein Rechenbeschleuniger mit Grafikprozessor. Es berechnet physikalische Modelle und entschlüsselt Gensequenzen.
Entscheidend ist, dass für die Berechnung überwiegend die gleiche Formel genutzt wird. Werden die Shader ständig mit neuen Formeln gefüttert, dann wird aus dem Geschwindigkeitsschub schnell eine Vollbremsung.
Mehr zu GPGPU lesen Sie im Profi-Wissen „Grafikkarte — GPUs und Rechenleistung“.