Schauen wir uns in diesem Artikel die Rechenmethoden und Einsatzbereiche der GPU an. Und werfen wir einen Blick auf Rendering-Technologien wie Anti-Aliasing, Ambient Occlusion und Raytracing, bei denen es sich um Vorgänge handelt, die von der GPU verarbeitet werden.


Mit der Entwicklung des Spielemarktes haben sich in jüngster Zeit auch die damit verbundenen Technologien erheblich weiterentwickelt. Schaut man sich die Grafiken aktueller Spiele an, erkennt man, dass diese so realistisch sind, dass sie von der Realität nicht zu unterscheiden sind. Darüber hinaus ist es nun möglich, auf diesem Bildschirm 144 Bilder pro Sekunde wiederzugeben oder hochwertige Videos mit noch höherer Auflösung zu produzieren. Für die Ausführung dieser High-End-Spiele ist die Leistung der Grafikkarte wichtig. Im Inneren einer Grafikkarte befindet sich ein Schaltkreis, der als Grafikprozessor (GPU) bezeichnet wird. Die Hauptaufgabe der GPU ist das Rendern von 3D-Modellen. Unter Rendering versteht man den Prozess der Erstellung eines Bildes aus einer Modell- oder Szenendatei, bei der es sich um eine Sammlung von Modellen handelt, mithilfe eines Computerprogramms. Je besser die Leistung der GPU ist, desto hochwertigere Videos können produziert werden. GPUs sind für diese Rendering-Vorgänge optimiert. In diesem Artikel werde ich zunächst die Berechnungsmethode und Anwendungsbereiche der GPU erläutern und dann die Rendering-Technologien wie Anti-Aliasing, Ambient Occlusion und Raytracing erläutern, bei denen es sich um die von der GPU verarbeiteten Berechnungen handelt.

Eine GPU ist eine elektronische Schaltung, die dazu dient, grafikbezogene Vorgänge schnell zu verarbeiten und umzuwandeln und die Erstellung von Bildern in einem Bildpuffer zur Anzeige auf dem Bildschirm zu beschleunigen. Derzeit werden GPUs in Bereichen wie Mobiltelefonen, PCs und Videospielkonsolen eingesetzt. Beim Ausführen einer Anwendung übernimmt die GPU den Teil, der viele Berechnungen erfordert, führt die Berechnungen durch und übergibt dann die restlichen Berechnungen an die CPU, wodurch die Anwendungsverarbeitung beschleunigt wird. GPU hat einen ähnlichen Namen wie die Zentraleinheit (CPU), die Berechnungsmethoden dieser beiden Recheneinheiten sind jedoch recht unterschiedlich. Zunächst einmal arbeitet die CPU seriell. Die serielle Verarbeitung ist eine Operationsmethode, bei der eine Anweisung einzeln ausgeführt wird. Aus diesem Grund besteht die CPU aus 4 bis 8 Kernen, die für die serielle Verarbeitung optimiert sind. Andererseits führt die GPU Parallelverarbeitungsberechnungen durch. Parallelverarbeitung ist eine Operationsmethode, bei der mehrere Anweisungen gleichzeitig ausgeführt werden. Eine GPU besteht also aus Tausenden von Kernen, die für die Parallelverarbeitung ausgelegt sind. Hier fragen Sie sich vielleicht, welche Aufgaben hauptsächlich die CPU und welche Aufgaben hauptsächlich die GPU nutzen. Tatsächlich sind die Aufgaben, die wir häufig verwenden, wie das Schreiben von Dokumenten, das Surfen im Internet und die Verwendung von Taschenrechnern, Aufgaben, die durch den alleinigen Betrieb der CPU ausreichend gelöst werden können. Problematisch sind vor allem Arbeiten rund um Spiele. Es gibt viele dynamische Szenen im Spiel, wie zum Beispiel ein Auto, das zusammenstößt und Trümmer verstreut, ein Gebäude, das einstürzt, oder eine Bombe, die explodiert. Um diese Szenen reibungslos und realistisch zu erstellen, müssen physikalische Effektberechnungen und Partikeleffektberechnungen gleichzeitig durchgeführt werden, um realistische Bilder zu erstellen. Wenn die CPU diese Arbeit alleine erledigt, nimmt sie eine enorme Belastung in Anspruch und das Bild in der gewünschten Qualität wird nicht gezeichnet. Zu diesem Zeitpunkt wird die GPU verwendet. Wenn Aufgaben wie die Berechnung physikalischer Effekte, die Berechnung von Partikeleffekten und das Rendern von Grafiken zur Berechnung an die GPU gesendet werden, kann die Zeit verkürzt werden und es können wesentlich qualitativ hochwertigere Ergebnisse erzielt werden, als wenn nur mit der CPU gearbeitet wird.

Wie der Name schon sagt, wird die GPU hauptsächlich für grafikbezogene Vorgänge verwendet. Darüber hinaus handelt es sich bei der GPU aus Designgründen um ein Gerät, das Schaltkreise für allgemeine Vorgänge und Verwendungen entfernt und Schaltkreise nur für bestimmte Vorgänge hinzufügt, sodass sie nicht wie die CPU allein für allgemeine Zwecke verwendet werden kann. Aufgrund der effizienten Parallelberechnung, die nur GPUs bieten, gab es jedoch Versuche, dies auf allgemeine Berechnungen auszudehnen. Dies wird als GPGPU-Technologie (General Purpose Computing on GPU) bezeichnet. GPGPU wird implementiert, indem der Teil der Berechnungen, für den die CPU bei der Ausführung eines allgemeinen Programms verantwortlich ist, zur parallelen Berechnung an die GPU gesendet wird. Möglich wurde dies durch Verbesserungen wie das Hinzufügen von Programmierbarkeit zu GPUs und das Hinzufügen paralleler Rechenalgorithmen beim Entwerfen von Computeranwendungen. Derzeit wird die GPGPU-Technologie auf vielfältige Weise eingesetzt, von professioneller Software wie der Analyse der Molekülstruktur und der Vorhersage von Wettervorhersagen bis hin zu häufig verwendeter Mediaplayer-Software. Darüber hinaus verwenden mehrere Videokonvertierungsprogramme diese Technologie. Zusätzlich zur GPGPU-Technologie gibt es Präzedenzfälle dafür, dass GPUs für andere Zwecke als die Grafikberechnung verwendet werden. Es handelt sich um eine Kryptowährungs-Mining-Maschine. Unter Kryptowährungs-Mining versteht man den Vorgang der Erstellung von Blöcken, die Kryptowährungstransaktionsdetails aufzeichnen und im Gegenzug Kryptowährung erhalten. Zu Beginn war der Schwierigkeitsgrad des Minings nicht sehr hoch, sodass das Mining nur mit der CPU möglich war. Als jedoch die Mining-Schwierigkeit zunahm, wurden Geräte benötigt, die wesentlich effizientere Berechnungen als CPUs erforderten, und dank der parallelen Rechenleistung von GPUs wurden GPU-Miner immer beliebter.

Dieses Mal werden wir uns mit Rendering-bezogenen Technologien befassen, die hauptsächlich für die GPU verantwortlich sind. Erstens ist die Anti-Aliasing-Technologie eine Technologie, die das Treppenphänomen minimiert. Wenn ein hochauflösendes Bild auf eine niedrige Auflösung reduziert wird, erscheinen die Kanten gebrochen, was als Treppenphänomen bezeichnet wird. Es gibt mehrere Möglichkeiten, dieses Treppenphänomen zu minimieren. Normalerweise wird der zu rendernde Bildschirm um das Vierfache vergrößert, dann werden die vierfach vergrößerten Pixel in vier kleine Pixel aufgeteilt, die Berechnung wird für jedes kleine Pixel erneut durchgeführt und dann wird die Auflösung auf die ursprüngliche Auflösung reduziert. Es gibt eine Möglichkeit, das Treppenphänomen auf diese Weise zu minimieren. Dies wird als 4X Supersampling Anti Aliasing (SSAA) bezeichnet. Diese Methode ist im Prinzip einfach, hat aber den Nachteil, dass sie rechenintensiv ist. Die ergänzende Methode ist das Multisampling Anti-Aliasing (MSAA)-Verfahren. Das Prinzip ähnelt dem Supersampling, da jedoch nur der Teil gefunden und berechnet wird, an dem die Grenze des 3D-Modells verläuft, ist die Anzahl der Farbberechnungen geringer als bei der SSAA-Methode. Obwohl die auf die GPU angewendete Rechenintensität geringer ist, ist daher der Auflösungsgrad des Treppenphänomens geringer als der der SSAA-Methode.

Ambient Occlusion (AO) und Ray Tracing (RT) sind beide Rendering-Techniken im Zusammenhang mit Lichtquellen. Ambient Occlusion ist eine Technologie, die die durch Lichtokklusion verursachte Dämpfung annähert. Einfach ausgedrückt handelt es sich um eine Technologie, die Ecken und Spalten dunkler macht, damit sie realistischer aussehen. Im Gegensatz zu Ambient Occlusion, das mit dem Ausdruck von Schatten zusammenhängt, ist Ray Tracing eine Technologie, die mit Lichtreflexion zusammenhängt. Raytracing ist eine Technologie, die in die Augen des Betrachters einfallende Lichtstrahlen erkennt und deren Farbe anzeigt. Die Strahlverfolgung wird im Wesentlichen in zwei Methoden unterteilt, abhängig von der Richtung, in der der Strahl verfolgt wird. Das eine ist Vorwärts-Raytracing und das andere ist Reverse-Raytracing. Forward Ray Tracing ist eine Tracking-Technik, die das von einer Lichtquelle emittierte Licht unterteilt und einzeln verfolgt. Dies hat den Vorteil, dass Naturphänomene naturgetreuer wiedergegeben werden, hat jedoch den Nachteil, dass sogar Licht verfolgt werden muss, das nicht in unsere Augen gelangt. Im Gegensatz zum Forward-Tracing nutzt das Reverse-Raytracing unsere Augen als Ausgangspunkt und verfolgt das Licht in Blickrichtung. Raytracing hat den Vorteil, dass es uns viel realistischere Bilder liefert, hat aber den Nachteil, dass es eine enorme Rechenlast für die GPU mit sich bringt. Dies erschwerte den Einsatz der Technologie in echten Spielen oder 3D-Videos. Die neuen Grafikkarten der RTX-Serie verfügen jedoch über einen RT-Kern, der speziell für Raytracing-Berechnungen zuständig ist und so effiziente parallele Berechnungen ermöglicht. Daher wird erwartet, dass wir in Zukunft realistischere Videos mithilfe von Raytracing sehen können.

Die GPU der aktuellen Generation hat ein Niveau erreicht, bei dem ein Bildschirm mit einer Auflösung von 1920 × 1080 mehr als 60 Mal pro Sekunde angezeigt werden kann, indem alle physikalischen Effekte, Lichteffekte und Partikeleffekte angewendet werden. Allerdings können aktuelle GPUs eine 4K-UHD-Auflösung (3840×2160) nicht 60-mal pro Sekunde mit der gleichen Qualität umsetzen. Die Nachfrage nach Bildschirmen mit höherer Auflösung steigt zunehmend, aber auch die Entwicklung von Grafikkarten ist unerlässlich, um hochwertige Videos oder Spiele mit hoher Auflösung genießen zu können. Darüber hinaus handelt es sich bei der GPU um einen Prozessor, der aufgrund seiner einzigartigen Effizienz beim parallelen Rechnen wahrscheinlich hauptsächlich in den Bereichen Deep Learning und künstliche Intelligenz eingesetzt wird. Da Forschung und Aufgaben, die fortgeschrittene Berechnungen erfordern, zunehmen, wird die Entwicklung von GPUs wahrscheinlich zu einer weiteren technologischen Revolution werden.