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

ProximaCentauri schrieb:
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.
Ich bin vor Allem auf AMDs Ansatz gespannt. Performt der ordentlich und ist von Entwicklern gleich oder gar besser einsetzbar, kann Raytracing bald in jedem Spiel kommen (da es sowohl am PC Markt keine Splittung mehr gibt, aber auch weil es dann auf der Konsole wohl eingesetzt wird).
 
  • Gefällt mir
Reaktionen: fox40phil
Es sollte von Entwicklern gleich einsetzbar da sein da es eben transparent zur darunter agierende HW umgesetzt wird. Zumindest dann wenn man auf Vulkan oder DirectX Raytraceing setzt.
 
Also als ich das gelesen habe:
Bei einer Auflösung von 4K und 60 FPS sind das knapp 500 Millionen Primärstrahlen pro Sekunde

Stelle ich mir die Frage wir es dann wohl bei Füll HD und wqhd aussehen wird. Wird es dann bei Füll HD 60 fps dann 250 Millionen und bei wqhd 375 Millionen primärstrahlen pro Sekunde nötig sein oder stimmt das so nicht? Dann wird ja dadurch weniger Anforderung dann für die gpu sein. Also der beste Mittelweg ist somit hier wqhd, wie ich finde ne gute zukunft.

Und die Diskussion zwischen Vulkan und dx12 ist ja eh hinfällig. AMD hat mit seinem Vulkan damals versprochen das Vulkan auch unter windows 7 laufen wird also auf sogut wie fast allen Betriebssystemen. Dieses versprechen haben sie allerdings gebrochen. Ich bin damals schwer enttäuscht gewesen als ich das so feststellen musste. Darum macht es weil ja eh Windows 10 empfohlen wird bei Windows ja EU keinen Unterschied mehr ob Vulkan oder dx12. Also uns wird nur ne alternative vorgegaukelt. In Endeffekt ist es aber in der Realität so das es alles auf dx12 hinausläuft. Das ist nicht das was ich mir unter alternativen so richtig vorgestellt hatte. Echt schade das es so ist. Ie mehr man alternativen suchen möchte desto weniger findet man am Ende an alternativen. Für mich sieht Vulkan als tot aus. Man hat halt eben wenig Betriebssysteme zur Auswahl nur Linux, Windows 10,mekintosch sowie appeles Betriebssystem. Das ist mir zu wenig was zur Auswahl steht. Das reicht für mich als flexible nicht aus.
 
Sehr schön. Hoffe es gibt bald noch mehr Spiele wenn alle (ATI mit den Konsolen und Nvidia gestern schon) HW-RT unterstützen (vollkommen egal wie technisch realisiert). Bin gespannt wie das weiter geht
 
Colindo schrieb:
@latiose88 Die Anzahl der Primärstrahlen ist proportional zur Auflösung. In niedrigeren Auflösungen brauchst du auch weniger Raytracing-Leistung. Zumindest für die gleiche Menge Strahlen pro Pixel.


Dies würde bei niedriger Auflösung mehr Leistung bedeuten?

Wenn ich mir den Battelfield Benchmark mit ohne Patch anschaue, kostet zumindest bei der 2080ti RT in etwa 50% Leistung, von der Auflösung unabhängig.

So wie es im Artikel steht, scheint das Modell von Nvidia generell eine sehr hohe Bandbreite zu benötigen, welche derzeit nicht zur Verfügung steht.

Oder bin ich damit auf dem Holzweg?
 
latiose88 schrieb:
Also als ich das gelesen habe:
Bei einer Auflösung von 4K und 60 FPS sind das knapp 500 Millionen Primärstrahlen pro Sekunde

Stelle ich mir die Frage wir es dann wohl bei Füll HD und wqhd aussehen wird. Wird es dann bei Füll HD 60 fps dann 250 Millionen und bei wqhd 375 Millionen primärstrahlen pro Sekunde nötig sein oder stimmt das so nicht? Dann wird ja dadurch weniger Anforderung dann für die gpu sein. Also der beste Mittelweg ist somit hier wqhd, wie ich finde ne gute zukunft.
DLSS2.0 oder was ähnliches/besseres und gut ists.

latiose88 schrieb:
Und die Diskussion zwischen Vulkan und dx12 ist ja eh hinfällig. AMD hat mit seinem Vulkan damals versprochen das Vulkan auch unter windows 7 laufen wird also auf sogut wie fast allen Betriebssystemen. Dieses versprechen haben sie allerdings gebrochen. Ich bin damals schwer enttäuscht gewesen als ich das so feststellen musste. Darum macht es weil ja eh Windows 10 empfohlen wird bei Windows ja EU keinen Unterschied mehr ob Vulkan oder dx12. Also uns wird nur ne alternative vorgegaukelt. In Endeffekt ist es aber in der Realität so das es alles auf dx12 hinausläuft. Das ist nicht das was ich mir unter alternativen so richtig vorgestellt hatte. Echt schade das es so ist. Ie mehr man alternativen suchen möchte desto weniger findet man am Ende an alternativen. Für mich sieht Vulkan als tot aus. Man hat halt eben wenig Betriebssysteme zur Auswahl nur Linux, Windows 10,mekintosch sowie appeles Betriebssystem. Das ist mir zu wenig was zur Auswahl steht. Das reicht für mich als flexible nicht aus.
Welches OS denn noch? Das veraltete, unsichere Win7? Win8?
Alle "großen" sind dabei: Win, MacOS, Linux.
Dass es sich nicht durchsetzt hängt einzig mit Microsofts Marktmacht zusammen
 
Grundgütiger schrieb:
Wenn ich mir den Battelfield Benchmark mit ohne Patch anschaue, kostet zumindest bei der 2080ti RT in etwa 50% Leistung, von der Auflösung unabhängig.
Relativ immer 50% zu verlieren ist ja kein Widerspruch dazu, dass du trotzdem bei geringerer Auflösung immer mehr fps bekommst als bei hoher. Der Verlust der 2080 Ti hängt hauptsächlich davon ab, wie sich das Powertarget aufteilt.
Grundgütiger schrieb:
So wie es im Artikel steht, scheint das Modell von Nvidia generell eine sehr hohe Bandbreite zu benötigen, welche derzeit nicht zur Verfügung steht.
Ich glaube, damals beim Test der 2060 konnte man sehen, dass sie bei RT mehr einbrach als die größeren. Wegen der 192bit-Anbindung. Müsste ich aber nochmal nachsehen. Prinzipiell steht Nvidias Karten (zumindest den größeren) alles zur Verfügung, es kostet nur unter Umständen mehr Chipfläche als der Ansatz, den ich AMD zurechne.

Edit: CB rechnete es damals eher der zu geringen Größe des Speichers (6 GB) zu.
 
Zuletzt bearbeitet:
latiose88 schrieb:
Also als ich das gelesen habe:
Bei einer Auflösung von 4K und 60 FPS sind das knapp 500 Millionen Primärstrahlen pro Sekunde
Full HD hat 1/4 soviel Pixel als 4K also 125 Millionen Primärstrahlen, WQHD hat 1/2 soviel Pixel als 4K also 250 Millionen Primärstrahlen.
 
  • Gefällt mir
Reaktionen: Colindo
Vielen Dank fuer den ausfuehrlichen und aufschlussreichen Artikel zu RT-Raytracing :) @Colindo ...

1. der Konstruktion der Beschleunigungsstruktur, 2. der Strahlengeneration, 3. dem Strahlenflug durch den Raum (berechnet vom BVH-Algorithmus), 4. der Schnittstellenbestimmung sowie 5. dem Shading.

Der erste Schritt ist außen vor, da er nicht für jeden Strahl einzeln durchgeführt werden muss. Schritte 2-5 ergeben zusammen den ersten Schritt des auf der vorigen Seite besprochenen Raytracing-Algorithmus. Die Schritte 3 und 4 benötigen dabei am meisten Rechenleistung. Allerdings verlangen alle Schritte nach einer Vielzahl an Anpassungen in Grafikkarten.

… einerseits finde ich es ein wenig fragwuerdig, wieso Intel und AMD/RTG (nVidia ist als nicht X86er-Entwickler da eher nicht involviert) da nicht zweigleisig vorgehen und die Arbeit teilen, d.h. einen Teil der RT-Raytracing Funktionialitaet in der CPU ansiedeln und den anderen Teil in der GPU, denn dadurch sollten sich doch Effizienz- und Synergieeffekte ergeben koennen?
Zudem erschliesst sich mir nicht, weswegen die auf den BVH-Algorithmus optimiertere RT-Raytracing ASIC-Architektur nicht aehnlich oder ansatzweise Einzug haelt (bei CPUs und GPUs).

Gut es laeuft dann am Anfang ineffizienter, verbraucht dann mehr Chipflaeche, generiert mehr Abwaerme, aber zunaechst ueberwiegen doch die Vorteile, dass man ueberhaupt viel groessere Lasten damit bewaeltigen kann und wie man das dann spaeter kleiner, kompakter und effizienter gestaltet, darueber kann man sich doch spaeter den Kopf zerbrechen (das ist doch in der Vergangenheit bei der Hardwareentwicklung i.d.R. ueberall so gelaufen, dass man gross/aufwaendig angefangen hat und irgendwann dann effizient/klein geworden ist).

Ich hoffe, dass AMD/RTG da auch mit einer Hybridloesung bzgl. RT-Raytracing unterwegs ist, die die CPU-Architektur mit einbezieht (auch wegen massiver Zunahme/Erschwinglichkeit von mehr CPU-Kernen in den letzten Jahren, woraus man damit Nutzen/Kapital ziehen koennte).

Um den auf CB schon an anderer Stelle geposteten Artikel von 3D Center, der den kommenden nVidia Ampere Karten eine maximale Leistungssteigerung bei der Rasterisierung von gerade einmal 40% geruechteweise zuordnet, hier noch einmal anzubringen, dort scheint man wohl vornehmlich auf RT-Raytracing-Leistungsgewinn ab zu zielen, auch weil evt. der (mit der 10nm Turing auf 8nm kaum reduzierte/mehr optimierte 8nm) Fertigungsprozess nicht mehr hergeben koennte.

Wenn AMD/RTG also halbwegs liefert und in deren RT-Raytracing-GPU-Erstgeneration, bekannt als RDNA2, Leistung im DXR-Bereich zwischen Turing "Super" Refresh und Ampere GPUs abliefern sollte, aber dafuer Rasterisierungsleistung auf Niveau von Ampere (oder gar darueber, aufgrund des Fertigungsprozesses und man wird ja noch traeumen duerfen ;) ), saehe ich RDNA2 als interessanter als nVidias kommende Ampere-GPUs an, da RT-Raytracing bisher hinsichtlich der vollmundig vom nVida CEO versprochenen Einfuehrung/Implementierung in Spielen etwa weit hinter den Erwartungen zurueck liegt bzw. bisher auf etwas mehr als eine Handvoll Titel zutrifft und im Vergleich zu mehr Rasterisierungsleistung noch vergleichsweise vernachlaessigbar/irrelevant ist.

Natuerlich wird sich das aller Voraussicht nach aendern in den kommenden Jahren und RT-Raytracing in Spielen zunehmend einziehen und mehr leisten, aber man kauft eben dieses Jahr mit RDNA2 oder RTX Grafikkarte noch die Zukunft und bekommt vergleichsweise wenig Gegenwert dafuer zu Beginn geliefert (im Vergleich zu mehr Rasterisierungsleistung, die durch die Bank sofort viel mehr Mehrwert fuer den Kaeufer bieten wird).

So gesehen, falls diese Gereuchte dem 3D Center Bericht nach eintreffen sollten - und dieses Leak nicht von nVidia lanciert wurde, um am Ende die damit geschuerte, relativ niedrige Erwartungshaltung massiv zu uebertreffen, was auch als Marketinginstrument durchaus vorstellbar waere - saehe ich die RDNA2 GPUs hinsichtlich der Kaeufergunst bei vielen vermutlich vor RTX Ampere angesiedelt, wenn dabei mehr Rohleistung (abseits von RT-Raytracing) zu akzeptablen Preisen geliefert werden sollte.

Interessant/erwaehnenswert ist in diesem Zusammenhang auch noch, dass sich China/Huawei wohl auch im GPU-Markt zukuenftig breit machen will; zuerst nur mit einem Angriff im Server-/Profisegment mit mehr als beachtlicher Tesla Volta-Leistung zum Einstieg (was eine moegliche RT-Raytracing Leistung angeht, gibt es dazu aber noch keine Informationen), aber evt. wartet der staatlich beguenstigte Riesenkonzern Huawei nur darauf auch den GPU-Markt (inklusive Gaming-GPUs) anfaenglich mit Niedrigpreisen zu erobern (mir persoenlich reicht nach wie vor die Wahl zwischen nVidia, AMD/RTG und zukuenftig Intel).
 
Zuletzt bearbeitet:
@Chismon Gern geschehen :)

Die Einbeziehung von CPUs hat einen entscheidenden Nachteil: Da die Schritte für jeden einzelnen Strahl durchlaufen werden, müsste die CPU sehr schnell in den VRAM schreiben oder auf diesen zugreifen können. Oder man macht alles im RAM, dann hinkt das für den Zugriff der Grafikkarte. So eine Aufteilung der Arbeitsschritte wäre also eher was für die APUs, wobei denen sowieso Rohleistung fehlt, um Raytracing sinnvoll zu nutzen.

Und deine andere Idee, also alle Shader mit BVH-Algorithmen aufzubohren, würde wohl deutlich zuviel Chipfläche verbrauchen. Aktuell geht es ja darum, Raytracing möglichst günstig anzubieten, ohne die Kosten explodieren zu lassen. Deswegen müssen die RT-Einheiten so kompakt wie möglich sein. Noch höhere Kosten oder Mehrverbräuche des Chips würde beim jetzigen Angebot an RT-Spielen kein Käufer hinnehmen.
 
  • Gefällt mir
Reaktionen: .Sentinel. und Chismon
QUOTE="BAR86, post: 23975189, member: 822395"]
DLSS2.0 oder was ähnliches/besseres und gut ists.


Welches OS denn noch? Das veraltete, unsichere Win7? Win8?
Alle "großen" sind dabei: Win, MacOS, Linux.
Dass es sich nicht durchsetzt hängt einzig mit Microsofts Marktmacht zusammen
[/QUOTE]

Ja es war damit windows 7 gemeint. Unter es werden alle Plattformen unterstützt verstehe ich auch das Windows 7 dazu gehört. Und ich weiß garnicht was du hast es gibt doch noch aktuelle Grafikkarten Treiber, die auch noch auf dem aktuellsten Stand sind, sowie auch die volle Unterstützung der antivieren Software. Also wo liegt denn das Problem,also ich sehe dies als geringes Problem an.
 
Colindo schrieb:
Die Einbeziehung von CPUs hat einen entscheidenden Nachteil: Da die Schritte für jeden einzelnen Strahl durchlaufen werden, müsste die CPU sehr schnell in den VRAM schreiben oder auf diesen zugreifen können.
So ist es- Man würde sich einen Flaschenhals gigantischen Ausmaßes schaffen.
RT ist extrem Cache-/Latenz- und Kohärenzkritisch. Zieht man die dazu notwendigen Gewerke auseinander, ist an eine sinnvoll beschleunigte Berechnung nicht mehr zu denken.
Man hat mit Turing nicht umsonst das gesamte Speichermanagement bzw. die Anbindungen/Caches etc. auf den Kopf gestellt.

Und deine andere Idee, also alle Shader mit BVH-Algorithmen aufzubohren, würde wohl deutlich zuviel Chipfläche verbrauchen.
Was ja auch an sich nichts bringen würde. Die Strahlenmenge, die verschossen werden kann wäre ja jetzt schon für deutlich bessere Ergebnisse ausreichend (20 Rays pro Pixel bei UHD und 60FPS).

Problem ist die darauf folgende Auswertung bzw. Farbwertgebung in den Shadern, die nebst Raytracing um die Ressourcen für den Raster- Workload kämpfen muss. So kommt es, dass die aktuellen Spiele derzeit mit maximal einem Ray pro Pixel arbeiten.

Wobei wir wieder beim Vorteil im Nachteil gelandet wären. Beim Rastern skaliert die Leistung ab einem gewissen Punkt immer schlechter mit den Kernen.
Beim Raytracing könnte man (stark vereinfacht) zur Not auch einen Shaderkern auf einen Bildschirmpixel loslassen und man erhielte noch eine Beschleunigung der Berechnung.

Aktuell geht es ja darum, Raytracing möglichst günstig anzubieten, ohne die Kosten explodieren zu lassen. Deswegen müssen die RT-Einheiten so kompakt wie möglich sein. Noch höhere Kosten oder Mehrverbräuche des Chips würde beim jetzigen Angebot an RT-Spielen kein Käufer hinnehmen.
Wie oben gesagt- Die RT- Kerne sind an sich schon ziemlich stark dimensioniert. Nur nutzt das nichts, wenn die Verarbeitung nach der Schnittpunktberechnung nicht hinterherkommt, wenn sowieso schon alles mit Rasterisierungstasks überfüllt ist....

LG
Zero
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Colindo
ZeroZerp schrieb:
Problem ist die darauf folgende Auswertung bzw. Farbwertgebung in den Shadern, die nebst Raytracing um die Ressourcen für den Raster- Workload kämpfen muss.
Da wäre es interessant zu wissen, ob eine Architektur auf den hybriden Ansatz optimiert werden kann. Zum Beispiel durch eine Erhöhung des Shaderdurchsatzes nur für die Farbgebung.

Besonders in Zukunft, wenn nach 5 nm kaum Taktgewinne zu erwarten sind, wäre der Weg in die Breite sehr nützlich.
 
ZeroZerp schrieb:
Das wäre vielleicht was für den nächsten Artikel: Farbgebung und Beleuchtung.

In diesem Artikel wurden ja "nur" die Strahlen von der Kamera auf die Szene betrachtet. Damit weiß man zumindest schon mal welche Objekte man sieht, und was sich in ihnen spiegelt bzw. bei Transparenz hinter ihnen befindet.

Farbgebung durch Transparenz, Brechung und Spiegelung ist trivial.

Deutlich komplexer wird's, wenn es um die Beleuchtung geht. Licht hat ja die (un)schöne Eigenschaft, dass es sich von der Lichtquelle in alle Richtungen ausbreitet und dazu noch überall (nahezu) unendlich oft reflektiert wird und so wieder andere Objekte beleuchtet, die auch wieder einen Teil des Lichts reflektieren, etc. pp..
Das kann man in der echten Welt ja einfach beobachten, indem man tagsüber in's Haus geht und auch in der hintersten Ecke alles sehen kann, obwohl gar keine Lampe an ist.
Schön für die Bewohner dieses Planeten, aber unschön für Computer.
 
Für diffuse Beleuchtung testen die Strahlen, die zur Lichtquelle gehen, auch, ob ein beleuchtetes Objekt in der Nähe ist. Wenn ja, schaut man, was deren Farbe ist und wie stark die streuen.
Um das Ganze realistisch hinzukriegen, muss man in manchen Fällen sehr viele Schritte nachverfolgen, aber oft geht es recht schnell. Im neuen Minecraft ist ja auch deswegen die Beleuchtung bei den "Bounces" unlimitiert, weil es mit wenigen Bounces oft schon automatisch endet (der Strahl erreicht die Lichtquelle).
 
  • Gefällt mir
Reaktionen: .Sentinel.
Colindo schrieb:
Da wäre es interessant zu wissen, ob eine Architektur auf den hybriden Ansatz optimiert werden kann. Zum Beispiel durch eine Erhöhung des Shaderdurchsatzes nur für die Farbgebung.

Besonders in Zukunft, wenn nach 5 nm kaum Taktgewinne zu erwarten sind, wäre der Weg in die Breite sehr nützlich.
Das größte Beschleunigungspotenzial findet sich derzeit noch in der Programmierung/Datenaufbereitung
Da ist ja innerhalb kurzer Zeit soooo viel passiert.


Wenn man sich die Entwicklung von den ersten FullHD RT "Demos" von Spielen wie BFV oder Shadow of the tomb raider ansieht, die teils FullHD unter 30FPS liefen und dann ein modernes mit dlss 2.0 befeuertes Spiel wie Wolfenstein Youngblood, welches mit RT 1440P in 120FPS+ rennt, dann hat sich das Performanceniveau ekaltant gesteigert, ohne dass sich die Voraussetzungen bzw. die Hardware groß geändert hätte.

Wenn man dann noch die Fortschritte in der Filtertechnik/dem Denoising dazunimmt, wo im wahrsten Sinne des Wortes Sch...sse zu Gold gemacht wird...:
1586872251918.png

...und wenn man sieht, dass diese Techniken weiter verbessert werden, glaube ich, dass wir sogar zeitlich nah weitere große Sprünge in Sachen RT zu erwarten haben...

Dazu müsste die Hardware dann garnicht mal so übermäßig in ihrer Renderleistung ansteigen.
Wobei dort natürlich "mehr" und "schneller" auch gleich 1:1 in schöneren "Effekten" umgesetzt werden kann.

LG
Zero
Ergänzung ()

Colindo schrieb:
Für diffuse Beleuchtung testen die Strahlen, die zur Lichtquelle gehen, auch, ob ein beleuchtetes Objekt in der Nähe ist. Wenn ja, schaut man, was deren Farbe ist und wie stark die streuen.
Man experimentiert aber auch mit bidirektionalen Ansätzen, die je nach Situation auch vielversprechende Ergebnisse liefern können:

1586872710994.png


Das ist das schöne. Wir stehen da noch relativ am Anfang. Da gibts noch viel zu optimieren :)

LG
Zero
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Mumusud, Colindo und pietcux
Colindo schrieb:
Im neuen Minecraft ist ja auch deswegen die Beleuchtung bei den "Bounces" unlimitiert, weil es mit wenigen Bounces oft schon automatisch endet (der Strahl erreicht die Lichtquelle).
Da wird die Beleuchtung aber auch nicht in vollem Umfang berechnet. Z.B. reflektiert Wasser kein Licht an die Umgebung.
Bei einer vollständigen Beleuchtung würde ich erwarten, dass der Rand eines Swimmingpools hell schimmert, weil das Licht von der Wasseroberfläche teilweise reflektiert wird und gegen die Wände des Pools geworfen wird. In Minecraft passiert da aber gar nichts. Vielleicht ist das Wasser in Minecraft aber auch einfach nicht-reflektierend - das kann ich natürlich nicht beurteilen.
 
Zurück
Oben