Raytracing in Spielen? Das meint Spiele-Gott John Carmack dazu

Rollora

Kokü-Junkie (m/w)
Als einer seiner Twitter-Follower ist mir der "Artikel" den JC neulich gepostet hat nicht entgangen. "Artikel" deshalb, weil es eigentlich ein Kommentar ist, aber John Carmack ist nicht Arnold Schwarzenegger, er gibt keine One-Liner von sich die sitzen müssen, er erklärt seine Standpunkte ausführlich, wenn auch letztendes in einem Shooter mit Waffengewalt ;)

Ok wie dem auch sei, die absolute Kurzfassung, weil ich Zeitlich heute nicht wirklich gut dau komme (vielleicht möchte es wer übersetzen oder ausformulieren, ich bau es dann in die News ein in den nächsten Tagen:

Im Grunde kommentiert John Carmac Imagination's (Power VR Series!) Caustic Raytracingbeschleuniger im Bezug auf Spiele, bzw die Frage, ob Raytracing in Spielen sinnvoll ist. Es ist nicht sein Hauptthema, jedoch das hier (im PCGH Forum) interessante:

Vorteile von Raytracing gegenüber von Rasterizing:
-genaue Schatten. Ist das derzeit vernünftigste nahe Ziel von Raytracing in Spielen
-genaue Reflexionen ohne environment maps oder subview rendering. Allerdings ist das nur sinnvoll in Echtzeit und auf Spiegelähnlichen Oberflächen. Alles andere (matte spiegelnde Oberflächen) würden pro "Ray" (nicht mit Ray Charles verwechseln) 16 weitere "secondary rays" benötigen um gut auszusehen. Sogesehen: enorm rechenaufwändig für einen kleinen Effekt.

-genaue refraction: laut JC kein wirklicher Benefit
-Global Illumination: würde die Rechenkapazitäten schon bei kleinem Rahmen sprengen


Er beschreibt auch, dass es gigantische Szenen benötigen würde, damit sich Raytracing auszahlt: Raytracing benötigt gleich von vornherein enorme Rechenleistung, nimmt aber bei zusätzlich komplexeren Szenen immer weniger an Rechenleistung zu, während Rastern die Rechenleistung linear weiter beansprucht.

Es macht aber keinen Hehl daraus, dass Raytracing dem modernen Rasterizing eigentlich unterlegen ist, da Rasterer schon so optimiert sind und mit so vielen Tricks versehen, dass sie praktisch dasselbe können wie Raytracer - im Spiel (etwa bei Schatten). Etwas anderes wäre natürlich eine Anwendung wo es um hohe Präzision geht etc

Nachteile sind, neben der hohen benötigten Rechenleistung auch die hohe Speicherbandbreite etc

Letzten Endes sieht JC es so, dass es beim Rendern in Spielen nicht um 100% perfekte genauigkeit geht, sondern um ein Spiel gut aussehen zu lassen, bzw um artistisch oder stylisch zu sein und das schafft auch eine Rasterizing-engine.

Das Fazit am Ende gibt Hoffnung für alle RT Fans: da der Raytracing-Teil einer GPU nur einen kleinen Teil ausmachen würde, wie es der Rasterizing-Teil heute nur einen kleinen Teil ausmacht, und viele Funktionen einer Rasterizing-GPU auch in eine Raytracing-GPU wandern würde, ist der Weg zum Raytracing kein völlig neuer Chip, sondern eine weitere Integration von Raytracingfähigkeit in bestehende GPU Architekturen.


Quelle:
Shedding some realistic light on Imagination’s real-time ray tracing card | Ars Technica


Und hier der Link zum Artikel, den JC Kommentiert:
http://arstechnica.com/gadgets/2013...t-on-imaginations-real-time-ray-tracing-card/
 
Ob Raytracing sinnvoll ist muss man abwägen; Grafisch bietet es einige Vorteile ist aber in der Regel erheblich aufwendiger sodass man an anderen Ecken sparen muss.

Aktuelle High-End GPU Architekturen, insbesondere Intels Xeon Phi und die modifizierte Kepler Architektur von nVidias GK110 eignen sich aber prinzipiell durchaus gut als Raytracingbschleuniger; Raytracing würde aber auch neuartige, nicht- DirectX kompatible Engines erfordern.

Die Optischen Vorteile von Raytracing sollte man nicht vernachlässigen, vor allem wirklich realistische Reflexionen an gekrümmten und insbesondere an bewegten Oberflächen (Wasser) sowie Dynamische Lichtquellen (etwa ein loderndes Feuer) lassen sich kaum anders realisieren.

Gibt ja genug Techdemos, die die Vor- und Nachteile zeigen.
 
Aktuelle High-End GPU Architekturen, insbesondere Intels Xeon Phi und die modifizierte Kepler Architektur von nVidias GK110 eignen sich aber prinzipiell durchaus gut als Raytracingbschleuniger; Raytracing würde aber auch neuartige, nicht- DirectX kompatible Engines erfordern.
Wieso eig. genau ein GK110?
 
Wieso eig. genau ein GK110?

Weil er pöse HPC Features bietet, die in Spielen total unnötig sind

Beim Raytracing aber sind einige dieser Features für ein erheblich höheres Leistungspotential und eine größere Effizienz verantwortlich. Insbesondere mit Dynamischer Paralellisierung und "Hyper-Q", beide Features fehlen "normalen" Keplerchips, kann Raytracing erheblich effizienter gestaltet werden, vor allem wenn Strahlen nicht nur einfach reflektiert/gebrochen sondern auch gestreut werden.
 
Zuletzt bearbeitet:
GCN bietet ähnliche Featurevielfalt mit den ACEs an.
Wobei es glaube ich nicht so viele selbständige Threads und Kernel sind, wie bei Kepler, aber dazu weiß ich nichts weiteres.
Die DX-API kann das auch gar nicht ansprechen.
Das wären alles Grundlagenfeatures, die man vielleicht erst in vielen Jahren für den Consumer freischalten kann.
 
richtig CGN bietet das auch.
AMD Chips haben eine Geschichte die Prinzipiell für eine gute RT Leistung spräachen, schon seit dem R600.

Aber die Software dahinter ist eine Katastrophe, grade was den professionellen Bereich betrifft
 
Ja, AMDs GPUs, insbesondere die GNC sind auch recht Raytracingtauglich; Fakt ist jedenfalls: das seit den 1990ern übliche Raytracing-Totschlagargument, GPUs wären nicht für Raytracing Berechnungen geeignet ist jedenfalls nichtmehr oder nurnoch sehr eingeschränkt gültig; nun ist es vor allem ein Softwareproblem.

Allerdings kein kleines Softwareproblem.

Aktuelle Raytracing Engines aus dem CAD/CGI Bereich sind jedenfalls nur sehr begrenzt für Echtzeitberechnungen und die Verwendung von GPUs ausgelegt; die Entwicklung einer völlig neuartigen Engine wäre ein hoher Aufwand, zudem wäre die Liste der Unterstützten GraKas wohl kurz. Das Spiel würde auch nichtmal besser aussehen als Spiele mit klassischer Rastergrafik sondern einfach anders. Das wäre zwar vielleicht nett ist aber aus Sicht der Entwickler den Aufwand wohl nicht wert. Die einzige realistische Möglichkeit das es dennoch Fortschritt in dem Gebiet geben könnte sehe ich in einer möglicherweise von AMD oder nVidia großzügig finanzierten "spielbaren Techdemo" (ähnlich wie Intels Projekt Offset). Allerdings ist es zumindest gegenwärtig leider nicht realistisch das so ein Spiel kommt.
 
Zuletzt bearbeitet:
Es wird einfach darauf hinauslaufen dass raytracing immer wieder bestimmte Aufgabengebiete übernehmen wird. Crytek hatte schon in der CryEngine 2.0 mit RayTracing experimentiert und nun kommt es halt in 3.0 für lokale Echtzeitreflektionen zum Einsatz. Auch DICE arbeitet mit dieser Technik genau so wie Epic. Selbst in der X-Ray-Engine findet man code-schnipsel (weiß nur nicht ob die auch genutzt werden). Die Technik ist im Grunde also daseinsberechtigt, aber nicht als Dominanz gedacht. Dafür sind die Schwerpunkte noch nicht da und auch die Hardwarebasis ist noch nicht vorhanden.

Ich wünsche mir lieber mehr Physik die nicht nur Effekthascherei ist. :daumen:

Hier mal ein Leckerbissen der Optik (2.3MB):

Quelle
 
Ich denke, sofern das Möglich wäre, ist sicherlich eine Kombination aus Rasterisierug, RayCasting und RayTracing sinnvoll. RayCasting würde zB Hitboxes ersetzung und genauere Kollisionsabfragen in der Physikberechnung ermöglichen (und damit keine Clippingfehler mehr), RayTracing wie in der News bereits geschrieben für spiegelnde Oderflächen und der Rest halt weiterhin mit Rasterisierung bzw für spezielle optische Effekt könnte man dann noch vom Rasterisierer weg, hin zu RC oder RT, ich denke da an Godrays, die realistische Darstellung von Haut (auch wenn das ne matte Oberfläche ist) etcpp.
Ich denke auch eher, das das Problem heutzutage eher die Software ist, zumindest die wenigsten Spiele nutzen zB DX11 oder Multithreading richtig aus oder sind in 64bit geschrieben, so dass sie von mehr as 4GB Speicher profitieren können. Nimmt man dann noch die Konsolenports dazu, versteht man, warum Haswell kein großer Sprung gegenüber IvyBridge ist, welcher wiederum kaum schneller als SandyBridge war. Da waren die Leistungssprünge von P4 zu C2D/C2Q oder von Athlon zu Phenon deutlicher.

Zur News selbst: Inhaltlich zwar sehr interessant, aber schwer zu lesen. Nicht imemr korrekte Zeichensetzung oder fehlende Großbuchstaben. Trotzdem danke.
 
Ich denke, sofern das Möglich wäre, ist sicherlich eine Kombination aus Rasterisierug, RayCasting und RayTracing sinnvoll. RayCasting würde zB Hitboxes ersetzung und genauere Kollisionsabfragen in der Physikberechnung ermöglichen (und damit keine Clippingfehler mehr),
Hitboxen wurden schon in Doom 3 abgeschafft, jedoch in Q4 wieder eingeführt (trotz gleicher Engine). AFAIR lags am Netzwerkcode bzw zu hohem Datenverkehr. Aber in Doom 3 wurde schon alles auf "per poly hit detection" basis berechnet, somit sollte es auch kein Clipping mehr gegeben haben und jedes Projektil hat nicht die Hitboxen sondern tatsächlich die Polygone der Modelle getroffen.
RayTracing,(!) wie in der News bereits geschrieben für spiegelnde Oderflächen und der Rest halt weiterhin mit Rasterisierung,(!) bzw.(!) für spezielle optische Effekt könnte man dann noch vom Rasterisierer weg, hin zu RC oder RT,-(!) ich denke da an Godrays, die realistische Darstellung von Haut (auch wenn das ne matte Oberfläche ist) etcpp. (In diesem Satzkonstrukt fehlt doch ein Verb)
Ich denke auch eher, das das Problem heutzutage eher (wh) die Software ist, zumindest die wenigsten Spiele nutzen zB.(!) DX11 oder Multithreading richtig aus oder sind in 64bit geschrieben, so dass sie von mehr as 4GB Speicher profitieren können. Nimmt man dann noch die Konsolenports dazu, versteht man, warum Haswell kein großer Sprung gegenüber IvyBridge ist, welcher wiederum kaum schneller als SandyBridge war. Da waren die Leistungssprünge von P4 zu C2D/C2Q oder von Athlon zu Phenon deutlicher.
:D du kommst jetzt von Raytracing und Rasterizing zur Entwicklung der CPU.
Aber um hier kurz was einzustreuen: der Sprung ist nach wie vor sehr groß, denn es wurde bei Ivy Bridge wohl nicht an der Performance geschraubt, aber bei gleichem Verbrauch die Verlustleistung nach unten gebracht - was aber insgesamt das gleiche ist: hätte man letztere stabil gehalten, wärs mit der Performance vorwärts gegangen. Haswell bringt 10-15% höhere IPC-C was ich auch super finde, denn das hilft ja in ALLEN Anwendungen, nicht nur in denen die viele Threads benötigen, wie beim AMD Ansatz. Natürlich wäre es jetzt noch toll mehr Threads/Cores zu haben, aber dazu muss man dann nochmal 1 Jahr warten, auf Haswell-E.
Leider kann AMD keinen Druck ausüben, sonst hätten wir 8 Cores vielleicht schon im leistbaren Desktop nicht nur Highendsockel.
Zur News selbst: Inhaltlich zwar sehr interessant, aber schwer zu lesen. Nicht imemr korrekte Zeichensetzung oder fehlende Großbuchstaben. Trotzdem danke.
wie eingangs erwähnt: ich hatte kaum Zeit, hätte mich über Mithilfe gefreut beim Übersetzen, bzw Kommentare vieler Technikexperten hier, die ich dann in die News eingebaut hätte. Kam aber nix.
Ich musste sie schnell hinschreiben, da ich nicht weiß wie ich der Redaktion interessante Themen für News zusende.
BTW: wer im Glaushaus sitzt soll nicht mit Steinen werfen, ich habe jetzt beim kurzen drüberlesen genug Rechtschreibfehler gefunden (in deinem Beitrag).

Ich hab deine jetzt mal ein bisschen markiert, und würde meinem, bei Interesse nochmal anpassen. Aber es gibt ja jetzt eh die News auf der Main auch

John Carmack über Raytracing: "Nur für Schatten und Reflexionen gut geeignet"



nicht unmittelbar Spielerelevant, aber vielleicht möchte darüber wer nen kleinen Artikel schreiben?
Has OTOY Bridged the Gap between CGI and Reality? - Bright Side Of News*
 
Zuletzt bearbeitet:
Na ja was soll man groß schreiben? Raytracing ist eigentlich schon relativ alt. Es ist nur in der Echtzeit-Berechnung relativ neu (glaube 2001 fing man damit an). PowerVRs/Imagination Technologies RTU ist was Perf/W angeht jedoch unheimlich attraktiv. Allerdings weiß ich zu wenig über dessen Anwendung um das reell zu beurteilen. Laut dem Artikel braucht die Karte bis zu 60 Watt (im Mittel 40). Das ist natürlich auf den ersten Blick beeindruckend. Wenn man aber bedenkt dass die Algorithmen recht "simpel" sind (ist ja eigentlich immer das gleiche - daher die gute Skalierung), kann man sich vorstellen wie einfach dieser Chip strukturiert sein muss. Ich würde für einen dieshot einiges geben :D:devil:

Für nette showroom-CGI ganz gebräuchlich aber für uns "hier draussen" einfach noch uninteressant. Den Artikel von BSON habe ich mir noch nicht angesehen. Wenns da was zu berichten gibt schreib ichs bei Gelegenheit ;)
 
Bei 90nm, das ist vergleichsweise riesig...
Ich gebe die Hoffnungen nicht auf, dass es irgenwann eine Raytracing-Only Gameengine gibt, gerade wegen GI und irren Polymengen.
 
Verglichen mit anderen Chips, wie z.B. 28nm Fertigungsgröße bei aktuellen GraKas. Immerhin bekommt man dort auf die gleiche Fläche über 10x so viele Transistoren unter.
 
Wie schon geschrieben sind dezidierte Raytracing GPUs (die es übrigens bereits gibt) nichtmehr wirklich nötig da sich moderne GPUs bereits recht gut für Raytracing Berechnungen eignen (eine Folge der zunehmend universellen Einsetzbarkeit in Zusammenhang mit GPGPU)

Raytracing in Spielen ist heute mehr ein Software- denn ein Hardwareproblem.

Fakt ist auch: Raytracing kostet grundsätzlich mehr Leistung; man müsste das Raytracing also beispielsweise mit geringerer Auflösung, schlechteren Texturen oder gröberer Geometrie bezahlen. Und ältere GPUs sowie auch neuere, die um GPGPU Features beschnitten sind würden "ausgeschlossen".
 
Eher nur geringere Auflösung oder weniger Strahlen (grieselige Schatten, Rauschen).
Ich habe schon vor einiger Zeig mal einen Selbsttest gemacht und den Polycount einer meiner Szenen einfach versechzehnfacht. Die Berechnungszeit ist wirklich kaum angestiegen. Dafür die Speicherauslastung :ugly:
 
Ich würde mich über ein Video oder Statement von Euclideon's Unlimited Detail freuen .

Da seit 2011 noch kein Fortschritt der Öffentlichkeit gezeigt worden ist eigentlich schade .
 
Zurück