Die Technik aktueller Grafikkarten

Grafikpipeline, Shader und GPGPU

von - 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.
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 Grafikpipeline ist ein Berechnungsmodell für 3D-Grafik, das sowohl die Software als auch die Hardware berücksichtigt. Eine Grafikpipeline unterteilt die Berechnung der 3D-Grafik in mehrere aufeinanderfolgende Schritte. Erst wenn ein Schritt abgeschlossen ist, wird der nächste Schritt berechnet. Grob sind die Schritte in Datenlieferung, Geometrieberechnung, Rasterung und Ausgabe unterteilt.
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.
Nvidia Tesla K20: Das ist keine Grafikkarte, sondern ein Rechenbeschleuniger mit Grafikprozessor. Es berechnet physikalische Modelle und entschlüsselt Gensequenzen.
Auch normale Programme können die Shader-Einheiten nutzen. Die Shader führen dann keine 3D-Berechnungen durch, sondern beschleunigen zum Beispiel die Umwandlung eines Videos, berechnen Effekte für Videos oder knacken Kennwörter. Diese Technik nennt sich GPGPU.
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“.
Bilderstrecke
5 Bilder

Profi-Wissen :

Grafikkarte — GPUs und Rechenleistung

>>
Verwandte Themen