Bericht Raytracing in Spielen VI: So werden Strahlen von GPUs beschleunigt

Colindo

Redakteur
Teammitglied
Registriert
Dez. 2015
Beiträge
2.875
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.

Zum Bericht: Raytracing in Spielen VI: So werden Strahlen von GPUs beschleunigt
 
  • Gefällt mir
Reaktionen: xXDarthGollumXx, flo.murr, Angiesan und 60 andere
Ich habe ewig auf eine Weiterführung der Reihe gewartet. Ein Dankeschön dafür! :)
 
  • Gefällt mir
Reaktionen: misu, Mcr-King, eastcoast_pete und 11 andere
Ich bin schon gespannt was Nvidia mit der RTX3000 Serie bezüglich Raytracing bieten wird, da wird man sehen wie ernst sie es vorantreiben wollen.
 
  • Gefällt mir
Reaktionen: aid0nex, Yibby, B.L. Swagger und 4 andere
Sehr schön mal wieder etwas tiefergehendes über das Thema zu lesen!

Colindo schrieb:
Eine sinnvolle Möglichkeit zur Reduzierung des Leistungsbedarfs von Raytracing ist Denoising
Kleiner inhaltlicher Fehler. Das Denoising reduziert nicht den Leistungsbedarf, sondern erhöht ihn leicht.
Die Verwendung von weniger Strahlen senkt die erforderliche Leistung.
 
  • Gefällt mir
Reaktionen: Siebenbert, floTTes, aid0nex und 4 andere
benneq schrieb:
Kleiner inhaltlicher Fehler. Das Denoising reduziert nicht den Leistungsbedarf, sondern erhöht ihn leicht.
Die Verwendung von weniger Strahlen senkt die erforderliche Leistung.

Wenn man die Strahlendichte verringert, führt das zu Bildfehlern (Noise). Dem kann man mit Denoising entgegenwirken. Reduzierung des Leistungsbedarfs kommt halt nicht direkt vom Denoising, sondern indirekt.
 
  • Gefällt mir
Reaktionen: floTTes, aid0nex, cruse und 7 andere
ZeroStrat schrieb:
Reduzierung des Leistungsbedarfs kommt halt nicht direkt vom Denoising, sondern indirekt.
Und das ist doch genau der Punkt den ich anspreche: Der Satz im Artikel suggeriert, dass das Denoising den Leistungsbedarf reduziert.

Das ist wie "Upscaling mit DLSS reduziert den Leistungsbedarf". Die Aussage ist falsch. Upscaling und DLSS kostet Performance. Das Leistungsplus kommt von der reduzierten Renderauflösung.

Besser wäre also "Eine sinnvolle Möglichkeit zur Reduzierung des Leistungsbedarfs von Raytracing ist die Verwendung einer niedrigeren Stahlendichte in Kombination mit Denoising"
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Siebenbert, Xidus, floTTes und 8 andere
@benneq Du hast nicht Unrecht, auch wenn ich den Satz nicht so kritisch finde. Gemeint ist natürlich, dass es insgesamt, bei gleicher Bildqualität, weniger Leistung bedarf.

Ich habe den von dir zitierten Satz mal umgeändert: "Eine sinnvolle Möglichkeit zur Reduzierung des Leistungsbedarfs von Raytracing ist die Nutzung von Denoising" Dadurch wird es etwas allgemeiner, und man muss nichts interpretieren.
Ergänzung ()

Aber euch allen erstmal frohe Ostern und ich hoffe, der Artikel gefällt :)
Er war wieder lange in der Mache, und ich freue mich schon auf Anmerkungen und Diskussionen!

Wer Fragen hat, bitte immer her damit!
 
  • Gefällt mir
Reaktionen: Elverado, mannefix, floTTes und 21 andere
Äußerst interessanter Artikel, vielen Dank dafür.
Es ist die prominenteste Methode bei CGI-Effekten für Spielfilme und „Computer-Aided Design“ (CAD).
Die Verwendung von Raytracing beim CAD beschränkt sich lediglich auf das Rendern von Produkt- oder Vorschaubildern. Während des Konstruktions- und Simulationprozesses wird ebenfalls simple Rasterisation genutzt.
 
  • Gefällt mir
Reaktionen: 7H0M45, Mcr-King und Colindo
Ein schöner Artikel für einen Ostermontag. Schon in der Einleitung hat sich bei mir eine Frage eingebrannt:
Die Berechnung übernahm damals noch die CPU, denn Raytracing war „in Software“ umgesetzt.
Wie wäre es wohl wenn Raytracing immer noch von der CPU berechnet würde? Da aktuelle CPUs mehr Kerne haben als in Spielen ausgelastet werden können, müsste doch ausreichend Leistung vorhanden sein.
 
  • Gefällt mir
Reaktionen: halbtuer2, NMA, Bulletchief und eine weitere Person
Ein Schmankerl für Ostermontag. Danke. :)
 
Ist der 10900f leak nicht nen fake?
Hat aber auch nichts mit RT zu tun.

Palomino schrieb:
Wie wäre es wohl wenn Raytracing immer noch von der CPU berechnet würde? Da aktuelle CPUs mehr Kerne haben als in Spielen ausgelastet werden können

Kannste vergessen, die Strahlendichte war damals viel geringer als in heutigen games und trotzdem hat es oft eine Viertelstunde gedauert bis kein noise mehr da war.

selbst 200 CPU Cores berechnen RT langsamer als eine 1080 ti mit Shader Cores.
 
  • Gefällt mir
Reaktionen: Colindo und gartenriese
@JoeDoe2018
Und was hat das mit Raytracing zu tun?
 
  • Gefällt mir
Reaktionen: fox40phil, Lübke82, hRy und 2 andere
Mograine schrieb:
Die Verwendung von Raytracing beim CAD beschränkt sich lediglich auf das Rendern von Produkt- oder Vorschaubildern. Während des Konstruktions- und Simulationprozesses wird ebenfalls simple Rasterisation genutzt.
Der Autor meinte damit vermutlich eher die ganzen Animationsfilme, die komplett mit Raytracing erstellt werden.
 
Das mit den speziellen Shader RT-Cores erinnert an die früheren Zeiten, als es noch spezielle Vertex- und Pixelshader in der GPU gab, bevor die Unified-Shader aufkamen.
Vielen Dank für den Artikel, man kann gespannt auf die zukünftige Entwicklung schauen.
 
Zuletzt bearbeitet: (kleines Detail verbessert)
  • Gefällt mir
Reaktionen: pipip, fox40phil, Mcr-King und eine weitere Person
Palomino schrieb:
Wie wäre es wohl wenn Raytracing immer noch von der CPU berechnet würde? Da aktuelle CPUs mehr Kerne haben als in Spielen ausgelastet werden können, müsste doch ausreichend Leistung vorhanden sein.
Ein CPU Kern kann zwar deutlich komplexere Operationen (und auch viel viel mehr unterschiedliche Operationen) als ein GPU Kern ausführen, und dank AVX sind auch die nötigen Operationen für RayTracing mehr oder weniger "in Hardware" machbar, und CPUs haben auch in der Regel 2-3x so viel Takt wie eine GPU.
Aber: Eine aktuelle Highend CPU hat am Ende des Tages immer noch nur 8 (oder meinetwegen auch 16) Kerne. Im Vergleich zu z.B. 36 Raytracing Cores auf einer RTX 2060 - oder sogar 68 RT Cores auf einer RTX 2080 Ti.
Und es handelt sich dabei (wie der Name schon sagt) um exakt auf diese Art von Berechnung spezialisierte Rechenkerne. Da geht so eine Schnittpunktberechnung mit dem nächstgelegenen Objekt in einem Rutsch durch.
Auf einer CPU wären dafür trotzdem noch mehrere Operationen nötig. Und dann wird die Rechenleistung der CPU natürlich noch für ganz viel anderen Kram benötigt: Andere Programme im Hintergrund, Berechnung von KI, Verarbeitung aller erdenklichen Eingaben, etc. Und jedes mal sind Kontextwechsel nötig, Pipelines werden geleert, Caches müssen hin- und herkopiert werden. Diese ganzen Störungen gibt's auf der GPU nicht.

Und selbst bei der Verwendung der GPU Shader kommt eine CPU nicht hinterher. Da reden wir von tausenden(!) Rechenkernen, statt einer handvoll CPU Kerne. Die Shader sind zwar nicht auf RT spezialisiert, aber allein durch diese schiere Menge kann man die Berechnung immer noch deutlich schneller erledigen als eine aktuelle CPU.
 
  • Gefällt mir
Reaktionen: Xidus, NMA, Palomino und 4 andere
Vielleicht habe ich einen "eigenen Geschmack" aber Raytracing in dieser Form beeindruckt mich nicht. Oft wirkt es dann zu glatt, zu glänzend und dadurch unnatürlich. Gemessen an dem riesen Rechenaufwand und der nötigen Potenten und teuren Hardware kein Grund komplett die Zukunft der Games darauf aufzubauen.
 
  • Gefällt mir
Reaktionen: abklatsch10, Pulsar77, Mcr-King und eine weitere Person
gartenriese schrieb:
Der Autor meinte damit vermutlich eher die ganzen Animationsfilme, die komplett mit Raytracing erstellt werden.
Schon möglich, die fallen aber nicht in den Bereich CAD. Denn CAD steht im deutschen fur rechnerunterstütztes Konstruieren.
 
  • Gefällt mir
Reaktionen: Gorgone
zombie schrieb:
Oft wirkt es dann zu glatt, zu glänzend und dadurch unnatürlich


Das liegt ja aber nicht am Raytracing an sich, sondern an der Umsetzung in der jeweiligen Software/Spiel.
Momentan probieren auch Spieleentwickler viel aus und sind eher in der Lernphase. Sie wollen den einen Effekt, den das Spiel über RT bieten soll, so gut und so deutlich wie möglich zur Schau stellen. Und dann gibt es eben viele stark reflektierende Flächen, die eben schnell unrealistisch aussehen. So schießen sie gern übers Ziel hieraus.

Rasterizing hat Jahrzehnte in der Spieleentwicklung hinter sich. Echtzeit Raytracing in Games ist da vergleichsweise neu.

Aber ja, momentan sieht nicht alles so super toll aus.
 
  • Gefällt mir
Reaktionen: DirtyHarryOne, FeelsGoodManJPG, floTTes und 6 andere
Zurück
Oben