Raytracing: So werden Strahlen von GPUs beschleunigt (2023)

Echtzeit-Raytracing ist gut vier Jahre nach dem Auftakt mit GeForce RTX 2000 und gut zwei Jahre nach Xbox Series X/S und PlayStation 5 in immer mehr Spielen optional verfügbar. Doch wie beschleunigen GPUs eigentlich die Berechnung der Strahlen? Ein Einblick in die Technik gibt Aufschluss.

Inhaltsverzeichnis

  1. 1 So werden Strahlen von GPUs beschleunigt
    1. Echtzeit-Raytracing in Hardware
    2. Nvidia Turing machte den ersten Schritt
    3. Rasterisierung ist noch immer der Standard
    4. Wie funktioniert Raytracing?
  2. 2 Raytracing in Hardware beschleunigen
    1. Beschleunigungsstrukturen
    2. Anforderungen der Raytracing-Pipeline
  3. 3 Weitere Raytracingansätze und Fazit
    1. AMDs Ansatz für Hardware-Raytracing
    2. Das unterscheidet Nvidias und AMDs Ansatz
    3. Hardware-Raytracing bei Intel
    4. Neuerungen mit Nvidias GeForce RTX 4000
    5. Neuerungen mit AMD Radeon RX 7000
    6. Fazit

Update 02.01.2023 17:00 Uhr

Echtzeit-Raytracing in Hardware

15 Jahre ist es her, dass Gastautor Daniel Pohl im ersten Teil seiner über vier Jahre weiterverfolgten Serie „Raytracing in Spielen“ auf ComputerBase von seiner Forschungsarbeit in diesem Bereich berichtete. Er hatte als Diplomarbeit Quake 4 (und zuvor Quake III Arena) in Raytracing umgesetzt und ging auf die Vor- und Nachteile von Rendering mit Raytracing ein. Die Berechnung übernahm damals noch die CPU, denn Raytracing war „in Software“ umgesetzt.

(Video) WELCHE GRAFIKKARTE für RAYTRACING KAUFEN? 26(!) GPUs im TEST

Es folgten weitere Artikel zu den neuesten Entwicklungen und der Raytracing-Umsetzung von Enemy Territory: Quake Wars sowie ein Ausblick auf das, was mit Raytracing in der Cloud möglich wäre. Zwischenzeitlich trieb Pohl das Thema als Angestellter von Intel voran. Seit Anfang 2012 wurde es um selbiges ruhiger.

  • Raytracing in Spielen I: Strahlen versprechen den Fotorealismus
  • Raytracing in Spielen II: Das Reich der Strahlen macht Fortschritte
  • Raytracing in Spielen III: Quake Wars mit Raytracing
  • Raytracing in Spielen IV: Strahlen aus der Cloud
  • Raytracing in Spielen V: Neues aus der Strahlenwelt

Nvidia Turing machte den ersten Schritt

Seit Ende 2018 und der Vorstellung der Grafikkarten vom Typ Nvidia GeForce RTX (in der 2000er Generation auf Basis von Turing) ist es mit der Ruhe vorbei. Mit den Next-Gen-Konsolen Xbox Series X/S sowie PlayStation 5 vund Grafikkarten von AMD sowie Intel, die Echtzeit-Raytracing ebenfalls unterstützen, wächst die Basis an kompatibler Hardware stetig an. Und die Anzahl der Spiele, die Raytracing als zusätzliche Grafikoption bietet, wächst und wächst.

Doch wie genau funktioniert die Beschleunigung der per Raytracing umgesetzten Grafikeffekte „in Hardware“ auf der GPU überhaupt?

Der folgenden Ausarbeitung liegt im Kern ein wissenschaftlicher Artikel aus dem Jahr 2017 zugrunde: „Toward Real-Time Ray Tracing: A Survey on Hardware Acceleration and Microarchitecture Techniques“ von Forschern von Qualcomm und der Tsinghua University in China erschien im Journal ACM Computing Surveys und liegt frei verfügbar als PDF auf Github. Die Forscher waren sich damals sehr sicher, dass innerhalb weniger Jahre Raytracing in Hardware in den Massenmarkt kommen würde – zumindest damit lagen sie zu diesem Zeitpunkt definitiv nicht falsch. Ob sie auch in anderen Aspekten Recht behalten werden?

We envision that a wave of research efforts on ray-tracing hardware will blossom in a few years.

(Video) Is RTX a Total Waste of Money?? - Can we even tell when it's on?

Rasterisierung ist noch immer der Standard

Wird auf einem PC ein zweidimensionales Bild als Ausgabe einer dreidimensionalen Szene erstellt, so nennt man das „Rendern“. Um Bilder zu rendern, sind verschiedene Vorgehensweisen möglich. Bei Computerspielen überwiegt heutzutage die sogenannte Rasterisierung. Doch was genau steckt dahinter?

Im ersten Schritt wird eine dreidimensionale Szene in polygone (vieleckige) Grundflächen zerlegt, die auch „Primitives“ genannt werden. Bei der Rasterisierung werden die Polygone in Fragmente zerlegt, die den späteren Pixeln entsprechen. Im Anschluss werden den einzelnen Pixeln Farb- und Helligkeitswerte zugewiesen, das sogenannte „Shading“. Das fertige Bild wird anschließend ausgegeben.

Das Rendern auf der Basis von Rasterisierung ermöglicht eine hohe Parallelisierung der Berechnung der Bildinformationen, da für alle Polygone parallel das Shading durchgeführt werden kann. Auf modernen Grafikkarten mit mehreren tausend Shadern können so sehr komplexe Szenen mit vielen Effekten gleichzeitig dargestellt werden. Die einfache Parallelisierung des Renderprozesses ist also der fundamentale Vorteil der Rasterisierung.

Rasterisierung ist schnell, weil es vereinfacht

Fundamentale Voraussetzung für das Gelingen des Renderns ist allerdings, dass die Polygone untereinander unabhängig sind und globale Parameter wie die Beleuchtung der Szene und damit auch der Schattenwurf im Vorhinein berechnet und abgespeichert wurden. Die realistische Darstellung der Polygon-übergreifenden Effekte wie globale und indirekte Beleuchtung, Schatten, Lichtbrechungen und Reflexionen ist nämlich ein Flaschenhals. Im Endeffekt können sie nur dann überzeugend erstellt werden, wenn mehrere Polygone gleichzeitig betrachtet werden, was auf herkömmlichen Grafikkarten zu erheblichem Leistungsverlust führen kann. Insbesondere Licht und Schatten sind bei der Rasterisierung also immer nur eine im Entwicklungsprozess sehr aufwändige Näherung – wenn auch zumindest auf den ersten Blick eine sehr gute.

Um den Realismus in Computerspielen auch mit Rasterisierung weiter voranzutreiben, werden immer umfangreichere Tricks angewandt, um die Aufgabe für den Rasterizer passend zu gestalten. Beispiele hierfür sind Bildschirmbereich-Reflexionen, Umgebungsverdeckung und Globale Beleuchtung.

Besser eignet sich für solche Effekte aber die alternative Rendering-Methode Raytracing, bei der Lichtstrahlen aus der Kameraperspektive auf die einzelnen Pixel geschossen und darauf aufbauend Reflexionen, Streuungen oder Brechungen der Strahlen aufgezeichnet werden. Raytracing dient bereits seit langer Zeit der Darstellung von fotorealistischen Bildern. Es ist die prominenteste Methode bei CGI-Effekten für Spielfilme und „Computer-Aided Design“ (CAD). Es bietet immense Vorteile, aber auch Nachteile.

(Video) 3 JAHRE SPÄTER...Ist RAYTRACING IMMER NOCH EIN FAIL? Oder lohnt es sich mittlerweile?

Wie funktioniert Raytracing?

Raytracing emuliert die Wahrnehmung des Menschen. In der Realität werden Lichtstrahlen von Objekten gestreut bzw. reflektiert und erreichen danach das menschliche Auge. Im Raytracing-Algorithmus geht man den umgekehrten Weg und sendet Lichtstrahlen vom Betrachter auf die Szene. Treffen diese Primärstrahlen auf eine Oberfläche, werden je nach Eigenschaft verschiedene Sekundärstrahlen gebildet, die Schatten oder Reflexionen und bei transparenten Objekten auch Lichtbrechung berechnen. Weitere untergeordnete Strahlen können bei Bedarf, zum Beispiel bei Mehrfach-Reflexionen, ausgesendet werden.

Raytracing ist von der grundlegenden Art des Algorithmus her optimal für viele Kerne, da sich die Strahlen leicht parallel berechnen lassen. Allerdings sind die Zugriffe auf den Arbeitsspeicher asynchron und schwer vorhersehbar, weswegen Raytracing auf herkömmlichen Grafikkarten-Shadern weniger effizient arbeitet als Rasterisierung. Das zeigt ein anschauliches Beispiel für eine komplexe Szene mit mehr als einer Millionen Polygone.

Von der theoretischen Leistung von 1,1 Milliarden Strahlen pro Sekunde (GigaRays/s), die eine traditionell aufgebaute GTX 1080 Ti berechnen kann, bleiben wegen der Belastung durch Speicherzugriffe nur ca. 300 Mio. tatsächlich berechnete Strahlen pro Sekunde übrig. Ohne Hardware-Beschleunigung ist Raytracing also nur schwer auf Grafikkarten umsetzbar. Dass es trotzdem geht, zeigt der von Crytek entwickelte Benchmark Neon Noir . Allerdings ist nicht gesichert, inwiefern Effekte in diesem Benchmark durch die ständig gleiche Kamerafahrt besser optimiert wurden, als es in richtigen Spielen möglich ist.

Der fundamentale Algorithmus für Raytracing wurde 1980 von Turner Whitted auf der Konferenz Siggraph vorgestellt. Als Ausgangspunkt dient wie bei der Rasterisierung eine in Polygone zerlegte Szene. Der Algorithmus besteht aus einer Schleife, die im Optimalfall alle Pixel der Kameraperspektive durchzählt und je einen Primärstrahl aussendet. Bei einer Auflösung von 4K und 60 FPS sind das knapp 500 Millionen Primärstrahlen pro Sekunde. Für eine höhere Bildqualität können auch mehrere Primärstrahlen pro Pixel aus leicht verschiedenen Positionen verschossen werden. Für jeden Primärstrahl gelten dann die folgenden Schritte:

(Video) Was genau ist eigentlich Raytracing - RTX On erklärt | Gamercampus

  1. Es wird das Polygon bestimmt, das als Erstes vom Strahl getroffen wird.
  2. Es wird geprüft, ob die Stelle im Schatten liegt, indem zu jeder Lichtquelle je ein Sekundärstrahl verschossen wird.
  3. Ist die Oberfläche reflektierend, wird ein entsprechender Sekundärstrahl verschossen.
  4. Ist die Oberfläche transparent, wird ein gebrochener Sekundärstrahl verschossen.
  5. Sind alle Helligkeitsinformationen gesammelt, werden sie zusammen mit der Farbe des Polygons zum Shading übergeben.

Der erste Schritt ist derjenige, den Nvidia mithilfe seiner RT-Cores beschleunigt, wobei die Aufgabe vom Streaming-Multiprocessor an den RT-Core übergeben wird. Er nimmt in herkömmlichen Berechnungen am meisten Zeit in Anspruch, da die Komplexität mit steigender Anzahl Strahlen und Polygone jeweils proportional steigt. Die Schritte 2 bis 4 erzeugen mehrere Sekundärstrahlen, weswegen auch bei nur einem Primärstrahl pro Pixel schnell viele GigaRays/s an Raytracing-Leistung notwendig werden können. Eine besonders schwierige Szene sind Bäume mit einem hohen Anteil an transparenten Texturen, wie in einem früheren Artikel über Raytracing anschaulich dargestellt wurde. Es stellt sich die Frage, wie der Prozess effizient und ohne zu viel Verlust bei der Qualität beschleunigt werden kann.

Seite 1/3Nächste SeiteRaytracing in Hardware beschleunigen

(Video) VIEL MEHR LEISTUNG BEKOMMEN MIT DIESER KLEINEN EINSTELLUNG! DLSS 2.0

SIGGRAPH (6.–10. August 2023): Alle News auf der Themenseite!

FAQs

Raytracing: So werden Strahlen von GPUs beschleunigt? ›

Raytracing emuliert die Wahrnehmung des Menschen. In der Realität werden Lichtstrahlen von Objekten gestreut bzw. reflektiert und erreichen danach das menschliche Auge. Im Raytracing-Algorithmus geht man den umgekehrten Weg und sendet Lichtstrahlen vom Betrachter auf die Szene.

Was für eine Grafikkarte braucht man für Raytracing? ›

Die empfohlene GPU für Cyberpunk 2077 ist eine Nvidia GTX 1060, GTX 1660 Super oder eine AMD Radeon RX 590. Für Raytracing braucht es dann schon etwas mehr, nämlich mindestens eine RTX 2060 (für minimale Effekte) und idealerweise eine RTX 3080 oder besser für maximale Effekte.

Wie wichtig ist Raytracing in Spielen? ›

Das Raytracing-System reflektiert nicht nur Licht, Schatten und Umgebungslichter, sondern kann auch beeindruckende visuelle Effekte für die Charaktere im Spiel und sogar für die Gegenstände, die sie tragen, erzeugen.

Was genau macht Raytracing? ›

Durch Raytracing kann im Spiel indirektes Licht, das über Ecken reflektiert wird, halb-transparente Objekte, durch die Licht scheint, sowie realistische Schatteneffekte dargestellt werden. Die komplette Gaming-Welt wirkt dadurch also viel realistischer.

Wie gut ist Raytracing? ›

Die Performance von Raytracing

Die GeForce RTX 4080 verliert durch den Effekt in Ultra HD inklusive DLSS auf „Quality“ nur 6 Prozent Performance, bei der Radeon RX 7900 XTX sind es mit FSR auf „Quality“ minimal geringere 5 Prozent. Der Effekt kann also auf den meisten Grafikkarten bedenkenlos aktiviert bleiben.

Was ist besser RTX oder RTX TI? ›

Obwohl sie den gleichen Namen teilen, ist der RTX 3060 TI dank seiner besseren GPU, der Häufigkeit von Cuda-, Tensor- und RT -Kernen, deutlich leistungsstärker als der RTX 3060 und ist eine breitere Speicherbandbreite. Der RTX 3060 TI ist im Durchschnitt besser als der RTX 3060 bei allen Auflösungen.

Was ist besser RTX oder GTX? ›

RTX oder GTX: Was ist besser? Im Allgemeinen weisen RTX-Grafikkarten im Vergleich zu GTX-Grafikkarten eine höhere Leistung auf. Zudem können sie auf Funktionen wie Raytracing und DLSS zurückgreifen, welche sowohl im Gaming als auch bei intensiven Anwendungen Vorteile bringen.

Hat die 3060 Raytracing? ›

Mit DLSS und Raytracing kann sich die Geforce RTX 3060 weiter von der Geforce RTX 2070 absetzen und überholt teils auch die Geforce RTX 2080, da die RT- und die Tensor-Cores bei der Ampere-Architektur signifikant verbessert wurden.

Ist DLSS wichtig? ›

Die Antwort ist einfach: DLSS bietet euch im Allgemeinen eine viel bessere Leistung in Spielen. Wenn ihr zum Beispiel mit einer RTX 2070 in DLSS-unterstützten Titeln keine 60 FPS erreichen könnt, aktiviert es in den Einstellungen und seht zu, wie gut es eure Bildraten beeinflusst.

Kann AMD Raytracing? ›

Raytracing: Diese AMD-Grafikkarten unterstützen die Technologie. Nicht alle Grafikkarten unterstützen Raytracing, das gilt sowohl für AMD als auch Nvidia. Bei AMD brauchst Du eine Karte aus der Radeon-RX-6000-Serie, auch „Big Navi” genannt. Dabei handelt es sich um High-End-Grafikkarten mit hoher Rechenleistung.

Kann die RX 6800 Raytracing? ›

Die RX 6800 ist hier eher zu empfehlen, wenn einem Ray Tracing wichtig ist. Mit dieser erreicht man selbst in 1440p noch relativ stabile 30 FPS.

Ist DLSS Raytracing? ›

DLSS ist bei den folgenden GPUs mit aktiviertem DXR-Raytracing bei den anschließend aufgelisteten Auflösungen möglich: 3840x2160: alle RTX GPUs. 2560x1440: RTX 2060, 2070 und 2080.

Welche Grafikkarte für 4K und Raytracing? ›

Die NVIDIA GeForce RTX 4090 ist die beste 4K Grafikkarte der Welt. Mit Raytracing, DLSS 3.0 mit Frame Generation, 24 GB GDDR6X VRAM und unglaublicher Leistung hängt sie alle in Benchmarks ab - jetzt bei Mindfactory im Angebot kaufen.

Was benötigt man für Raytracing? ›

Minecraft RTX: Grafikkarte die entscheidende Systemvoraussetzung. Raytracing ist eine Technologie von Nvidia, dem Hersteller der GeForce-Grafikkarten. Mittlerweile hat jedoch auch AMD nachgezogen. Um die Minecraft RTX selbst auszuprobieren, müssen Sie folglich eine passende Grafikkarte besitzen.

Können AMD Grafikkarten Raytracing? ›

AMD unterstützt alle Raytracing-Games, die diese Standards verwenden. Es gibt ein paar Spiele, für die Nvidia spezielle Erweiterungen bereitgestellt hat.

Kann die GTX 1660 Super Raytracing? ›

Der TU116-Chip wird ebenfalls, wie auch die anderen Turing-GPUs, in 12nm gefertigt. Allerdings bietet die GeForce GTX 1660 Super nicht die neuen Features, wie DLSS (Deep Learning Super Sampling) und Real Time Ray Tracing.

Videos

1. Tutorial Nvidia Systemsteuerung 2020 | 3D-Einstellungen der GeForce RTX/GTX-Grafikkarten | DasMonty
(DasMonty)
2. Welche Grafikkarte ihr JETZT kaufen solltet (und welche NICHT) 💸 GPUs für jeden Geldbeutel
(PC Games Hardware)
3. Remastering 1997’s Quake II with Ray Tracing
(NVIDIA GeForce)
4. Ray Tracing in World of Tanks
(World of Tanks DE)
5. »Radar in Aktion« Synthese von Radarrohdaten in Verkehrsszenarien durch Raytracing
(Fraunhofer FHR)
6. Eure Fragen zu RTX & RayTracing beantwortet! #RTXOn
(ITRaidDE)
Top Articles
Latest Posts
Article information

Author: Francesca Jacobs Ret

Last Updated: 08/08/2023

Views: 6561

Rating: 4.8 / 5 (68 voted)

Reviews: 91% of readers found this page helpful

Author information

Name: Francesca Jacobs Ret

Birthday: 1996-12-09

Address: Apt. 141 1406 Mitch Summit, New Teganshire, UT 82655-0699

Phone: +2296092334654

Job: Technology Architect

Hobby: Snowboarding, Scouting, Foreign language learning, Dowsing, Baton twirling, Sculpting, Cabaret

Introduction: My name is Francesca Jacobs Ret, I am a innocent, super, beautiful, charming, lucky, gentle, clever person who loves writing and wants to share my knowledge and understanding with you.