Turing-Raytracing: RT-Kerne, Funktionsprinzip, Möglichkeiten
Auf dieser Seite stellen wir Ihnen Turing-Raytracing vor, also das Funktionsprinzip der RT-Kerne und deren Möglichkeiten. Dazu kommt, wie Raytracing "massentauglich" wird und was die RT Cores machen.
Turing-Raytracing
Turing-Raytracing: RT-Kerne, Funktionsprinzip, Möglichkeiten
Raytracing, die virtuelle Nachbildung von Lichtstrahlen, ist der "Heilige Gral" des Renderings. Wie das Trinkgefäß aus der Artus-Sage soll Raytracing die Gemeinschaft von Problemen befreien und stattdessen Glückseligkeit bringen. Rasterisierung, wie sie 99,999 Prozent der Spiele verwendet, erzielt nur mithilfe von Tricks und guten Künstlern ein realistisches Bild. Der damit erzielten Präzision sind Grenzen gesetzt - bei genauem Blick fallen die Tricks auf und das Kartenhaus zusammen. Die Idee des Raytracings wurde bereits Ende der 1960er-Jahre im Kontext der Computergrafik diskutiert. In den Folgejahren fanden immer wieder dedizierte Raytracing-Beschleuniger den Weg auf den Markt. Beim Offline-Rendering, etwa für Animationsfilme, ist Raytracing seit Jahren der Standard und auch beim professionellen Design wird die Technologie genutzt, um möglichst nah an der Realität zu modellieren. Bei Spielen, in denen es auf Interaktion und somit hohe Bildraten und niedrige Latenz ankommt, scheiterte es bislang an der Leistung beziehungsweise den richtigen Ideen, wie man Raytracing mit Rasterisierung kombiniert.
Mit Nvidias Turing-Architektur soll das anders werden. Die Kalifornier haben viel vor und präsentieren die scheinbar erste GPU-Architektur, die sowohl über klassische Compute- und Raster- als auch dedizierte Raytracing-Rechenwerke verfügt. Tatsächlich präsentierte Imagination Technologies, besser bekannt unter seiner Marke PowerVR, bereits im März 2014 eine ähnliche Lösung: die GR6500-GPU alias "Wizard". Neu daran war nicht die Fähigkeit zur RT-Beschleunigung, sondern dass diese GPU erstmals dedizierte RT-Rechenwerke neben den anderen in einem Kern vereinte. Wizard sollte Echtzeit-Raytracing nicht unbedingt für alle Pixel einer Szene, sondern selektiv für realistische Reflexionen und Schatten salonfähig machen - Hybrid-Rendering, wie es Nvidia heute im großen Stil vorhat. Da sich keine Abnehmer fanden, verschwand die ImgTec-Idee wieder in der Versenkung.
So wird Raytracing "massentauglich"
Da die Erzeugung (Casting) und Nachverfolgung (Tracing) virtueller Lichtstrahlen (Rays), welche mehrfach an Objekten abprallen (Bounces), extrem rechenaufwendig sind, scheiterte bisher jeder Versuch der Echtzeitanwendung. Nvidias Forschungsteams wollen mit Turing einen Durchbruch erzielt haben. Eine ausgeklügelte Mischung aus Hard- und Software ermöglicht Raytracing mit echtzeittauglichen Bildraten. Der Haupttrick dabei ist, dass nicht die komplette Bildberechnung mittels Raytracing erfolgt: Hybrides Rendering mit Rasterisierung und anschließender Raytracing-Aufwertung ist das Stichwort. Man kombiniert die Raster-Effizienz moderner GPUs mit einem selektiven Qualitätssprung durch Raytracing.
Eine ausgeklügelte Mischung aus Hard- und Software ermöglicht Raytracing mit echtzeittauglichen Bildraten.
Doch das ist nicht der einzige Kniff, um die enorme "Strahlenbelastung" zu reduzieren. Nvidia kratzte bezüglich der Details nur an der Oberfläche, diverse Paper von Raytracing-affinen Entwicklern und Forschern offenbaren jedoch die (weitgehend gelösten) Herausforderungen. Besonders lehrreich ist die Präsentation der EA-Forschungsgruppe "Seed". Diese beschreibt Lösungsansätze für effiziente Reflexionen, Schattierung, Lichtbrechung und mehr. Unterm Strich geht es immer um die Frage, wie sich ein bestimmter Effekt in wenigen Millisekunden und somit flüssigen Bildraten umsetzen lässt. So erfordern flächendeckende Raytracing-Reflexionen eines Metallbodens beispielsweise 16 Rays pro Pixel, andernfalls sehen diese bröselig und hart aus. Das macht bei den gut 2 Millionen Pixeln der Full-HD-Auflösung bereits 32 Millionen Strahlen - pro Bild! Das mal 60 für eine entsprechende Bildrate ist ... unmöglich. Seed hat sich daher für eine Lösung bei effektiv halber Auflösung entschieden - 1/4 Ray pro Pixel für Reflexionen, 1/4 Ray für reflektierte Schatten -, die randomisiert Strahlen schießt ("castet"), um einen Streu-Effekt zu erzielen. Das ist um Größenordnungen schneller als die n-fache Strahlenzahl pro Pixel, allerdings - wenig überraschend - sehr ungenau.
Quelle: Nvidia
Nvidia Geforce RTX Turing: Präsentation (46)
In den folgenden Bearbeitungsschritten werden die Informationen clever räumlich und zeitlich verrechnet und gefiltert. Das Ergebnis kann sich angesichts der Tonnen an eingesparter Rechenzeit sehen lassen, wobei die Präzision (mehr Rays) jederzeit hochgefahren werden kann, wenn stärkere Hardware erscheint. All das muss auch für Globale Beleuchtung, Schatten, Refraktionen et cetera implementiert werden, wobei vor allem Lichtbrechung ein höheres Maß an alternierenden Strahlen braucht und sich daher nicht derart leicht optimieren lässt - wie gut, dass die Welt nicht nur aus Glasgefäßen und Wasser besteht. Falls Sie sich für weitere Informationen interessieren, sei Ihnen die Seed-Abhandlung ans Herz gelegt.
Turings Raytracing-Spezialeinheiten: die RT Cores
Nvidias Errungenschaften lassen sich mit zwei Worten zusammenfassen: Software-Algorithmen und dedizierte Hardware-Einheiten. Letztere, die RT-Cores, halten mit Turing Einzug. Bei diesen Raytracing-Kernen handelt es sich um Fixed-Function-Units, spezialisierte Einheiten, die sich primär um die Nachverfolgung der Strahlen kümmern. Ihre Aufgabe ist es, festzustellen, welche Strahlen wo auf Objekte und somit Polygone stoßen - es gilt sprichwörtlich, eine "Nadel" im Polygonhaufen zu finden. Auch dabei kommt eine Vereinfachung zum Einsatz: Anstatt einer pixelweisen, sehr zeitaufwendigen Suche des Polygons wird der Raum zunächst in größere Würfel aufgeteilt, die mithilfe effizienter Algorithmen schneller Aufschluss über darin enthaltene Polygone geben. Vereinfacht gesagt schaut man zunächst in eine große Kiste, die vom Strahl im ersten Schritt getroffen wurde. In dieser Kiste befinden sich weitere, immer kleinere Kisten. Nach einigen Schritten hat man das entsprechende Polygon relativ schnell gefunden und kann mit dem Shading beginnen, während eine pixelweise Suche womöglich immer noch keine Referenz zu diesem Polygon ergab. Wer's genauer wissen will, füttert eine Suchmaschine mit dem Begriff "Bounding volume hierarchy" (BVH). Die folgende Grafik und das Video zeigen das Funktionsprinzip schrittweise:
Diese Arbeit lässt sich auch "in Software" erledigen, also ohne spezialisierte Hardware-Einheiten, sondern mithilfe der generalisierten Shader-ALUs. Nvidia gibt an, dass durchschnittlich mehrere Tausend Instruktionen pro Strahl anfallen, sodass konventionelle Rechenwerke verhältnismäßig lange für das BVH traversal und anschließende Shading benötigen. Turing entschärft das Problem nicht nur mithilfe der RT Cores, sondern auch auch durch höhere Parallelität: RT Cores und Shader-ALUs arbeiten Hand in Hand. Letztere feuern die Strahlen ab, die RT-Kerne übernehmen die schnelle Lokalisierung der Polygone, die ALUs das anschließende Shading - und so weiter, und so fort.
Quelle: Nvidia (Screenshot: PCGH)
Nvidia Turing Raytracing Pipeline: ALUs und RT Cores rechnen parallel
Daraus ergibt sich der von Nvidia genannte Leistungsfaktor zwischen Turing und Pascal (RTX 2080 Ti vs. GTX 1080 Ti) - 10× -, da pro Gigaray rund 10 TFLOPS an Rechenleistung aufgewendet werden müssen. Nvidia gibt für das Turing-Topmodell, die Quadro RTX 8000, einen Durchsatz von rund10 Giga-Rays pro Sekunde an, während die kleinste Variante 6 GR/s stemmt. Von den Gaming-Ablegern RTX 2080 Ti und RTX 2070 werden vergleichbare Durchsatzraten erwartet. Inwiefern die Leistung für flüssige Bildraten in den ersten Raytracing-Spielen reicht, muss sich noch zeigen. Allem Anschein nach liegt das anfängliche Fps-Ziel bei 60 - in Full-HD-Auflösung, mit dem Turing-Topmodell. Wer mehr erwartet, sollte sich allmählich und trotz aller Tricks von dem Gedanken verabschieden.
Die folgenden Bilder stammen aus der Nvidia-Präsentation und zeigen das neue Shadow of the Tomb Raider, einmal mit klassischer Rasterisierung und einmal mit zusätzlichem Raytracing für die Schatten. Zweifellos handelt es sich um dabei um einen gestellten Vergleich, denn kein Spiel würde ohne RTX gänzlich auf Schatten verzichten, nur weil zwei Lichtquellen gleichzeitig vorhanden sind. Die Aussage ist dennoch klar: Raytracing erlaubt lebensechte, weiche und dynamische Schatten, ohne dass mithilfe von Shadow Maps und Zusatzfilterung getrickst werden muss. Den besten Effekt erzielen die Schatten in Bewegung (siehe Video).

Dafür ist die 2080 eigentlich konzipiert meiner Meinung nach.
MfG
Dafür ist die 2080 eigentlich konzipiert meiner Meinung nach.
p.s.: Im PCGH Test steht aber etwas von UHD Auflösung/ maxed out und nicht 5k?!??
MfG
http://www.pcgameshardwar...
Du kannst jeden Grafikspeicher aushebeln, wenn du die Auflösung hoch genug wählst.
Ich gebe dir aber trotzdem in soweit Recht, dass für eine Grafikkarte die explizit mit UHD beworben wird 8 GByte schon sehr an der Grenze sind. Und das bereits in heutigen Spielen.
Gesendet von meinem SM-G935F mit Tapatalk