World of Tanks mit Software-Raytracing auf DX11-Grafikkarten: Hardcore-Interview zur Technik und Zukunft

Jetzt bin ich verwirrt, ich dachte das Raytracing wird mit Shadern/Cuda Cores berechnet?!

Die Bounding Volume Hierarchy wird auf der CPU berechnet.

Denis Ishmukhametov schrieb:
Und der erste Schritt, die Beschleunigungsstruktur - einige Spiele nutzen für solch einen Ansatz ebenfalls Compute Shaders - erfolgt bei uns via Intels Embree, im Großen und Ganzen. Das geschieht durch den Prozessor. Wir verlagern diesen Arbeitsschritt also auf die CPU - dabei nutzen wir mehrere Threads.

Gruß,
Phil
 
Die Bounding Volume Hierarchy wird auf der CPU berechnet.

Jetzt bin ich noch verwirrter. :D Die Datenstruktur wird mit der CPU berechnet, aber die GPU-Shader greifen dann über PCIe auf den RAM zu?! Das gibt doch Latenzen des Todes... Oder wird das dann in den V-RAM verschoben? Oder schreibt die CPU das direkt in den V-RAM und aktualisiert es dynamisch? Wird echt Zeit, dass ich mal was damit programmiere. Sind ja schlimm diese Wissenslücken... :rollen:

Edit: Ich hatte mit der Radeon VII ein anderes Speichermanagment als bei der RTX beobachtet. Kann sein, dass das teils nicht im V-RAM gehalten wird, was die sehr sehr schlechten Frametimes erklärt.
 
Zuletzt bearbeitet von einem Moderator:
Prinzipiell wüsste ich keinen Grund, weshalb AMD beim Software-Raytracing benachteiligt sein sollte – nicht, dass es nicht irgendeinen geben könnte, aber das würde ich bezweifeln. Die Berechnungen schlussendlich unterscheiden sich ja prinzipiell nicht von anderen Compute-Aufgaben.

Kann denn Navi FP32 und Integer Operationen gleichzeitig so gut wie Turing abarbeiten? Ich hab da mal gelesen Turing sei da besser aufgestellt.

Jetzt bin ich noch verwirrter.
biggrin1.gif
Die Datenstruktur wird mit der CPU berechnet

Nicht nur die Baumstruktur, sondern die CPU teilt das dann in immer weniger Quader auf und schickt dann bei einem Schnittpunkt mit einem groben Panzermodell die Zeichenbefehle an die GPU und dröselt das ganze stellenweise wieder auf die ursprüngliche Polygonzahl auf.
Oder so ähnlich, bin da noch nicht ganz dahintergestiegen, wie die damit genau Leistung einsparen wollen.
Eigentlich müsste das CPU Limit dann wesentlich tiefer liegen in dem Bench.?! Letztendlich berechnet die GPU ja nur die Schnittpunkte.
Gut, kann ja auch sein, dass alles vorberechnet ist, ist ja nur ne Demo.

aber die GPU-Shader greifen dann über PCIe auf den RAM zu?! Das gibt doch Latenzen des Todes...

Jedes mal wenn die BVH neu berechnet wird, gibt es diese wohl.
Das kennt man ja aus der Noir Demo von Crytek. Die Entwickler meinten aber sie bekämen das durch Intel Hilfe relativ schnell hin und so soll es kein Flaschenhals sein.
 
Zuletzt bearbeitet:
Aha und bei BF bemerkst du kein RT :ugly:? Dein Geheuchel ist einfach nur ekelhaft.
Das Video von Crytek ist auch keine Raytracing-Softwarelösung, auch wenn du das peinlicherweise in jedem Thread hier spammst.
Das ist schlicht ne Lowres und Lowdetail Variante der Voxel Global Illumination wie man sie von Nvidia auch in der Unreal Engine findet, die paar Rays dort brauchen auch keine Leistung :schief:.

Die Jungs hier haben schon deutlich mehr gebracht.
DX11 ist eigentlich auch nicht so geil, nicht jeder möchte sein Leben mit Windows7 verbringen, DX 12 und Vulkan sind fundamental eigentlich für volle Hardwarepower unabhängig von RT, hier muss oder möchte man wohl den Legacy Weg gehen weil das Spiel ja schon da ist und ziemlich erfolgreich, Hut ab vor dem Ansatz hier und dem auch damit einhergehendem Risiko. So hält man sein Spiel frisch.

@Infi1337

Weiß ja NICHT wie es Dir dabei ergeht oder wie Du darüber denkst ?
Ich für meinen Teil finde es halt voll KNORKE, wenn Neuerungen wie z.B Raytracing für die Mehrheit ermöglicht wird (u.a. DX11) und KEINE extra (teure) Hardware dafür von Nöten ist.
That´s it ... ;-)

MfG, Föhn.
 
Zuletzt bearbeitet von einem Moderator:
Das Interview war sehr interessant, und von mir aus wäre eine ungekürzte Version (also mit allen Fachbegriffen) besser und interessanter gewesen.
Die Entwickler von Wot gehen hier genau den richtigen Weg.
Sie können es sich auch gar nicht leisten, hier eine künstliche Hardwaregrenze einzubauen.

RT ist also schon locker unter DX11 möglich, und dass auch noch mit Intels Embree, einer speziellen Softwarebibliothek für Raytracing, die so gar mit Zusatzmodul bewegte RT-Objekte ermöglicht.

Wie war das noch einmal, dass Intel so schlechte Treiber hat und unfähig ist gute Software zu entwickeln.
Die Entwickler hinter WoT haben sich hier FÜR eine Intel Lösung entschieden, die weder AMD noch Nvidia in dieser Form anbietet, und die so gar unter DX 11 hervorragend läuft.

Damit ist der Ansatz der WoT-Entwickler so gar noch moderner und fortschrittlicher als die merkwürdige Crytec-Demo, und dass auch noch mit Intel-Software, dem Hasskonzern schlechthin hier im Forum.

Mir selbst macht das viel Vorfreude auf die kommenden Intel-GPUs.
Intel fehlt es weder an Innovationskraft, noch sind sie unfähig, oder angeblich nicht mehr konkurrenzfähig.
Ganz im Gegenteil, Intel hat hervorragende Softwareentwickler, und wird hoffentlich den GPU-Markt endlich wieder beleben, nach einer gefühlten Ewigkeit der Stagnation......
 
Zuletzt bearbeitet:
Wieviel CPU - Kerne unterstützt WoT den mittlerweile weil das Raytracing ja von der CPU berechnet wird wenn ich den Artikel richtig gelesen habe :-)

Der Raytraycing-Teil basiert auf einem Framework von Intel das meinem Wissen nach zumindest einige dutzend, gegebenenfalls mehrere hundert Threads spawnen kann. Raytraycing lässt sich sehr gut parallelisieren. Ob der Gameloop von WoT weiterhin eine extreme Single-Core-Belastung darstellt müsste jemand beantworten, der das Spiel spielt. Früher war das ein offensichtliches Problem.


Lol, das MG in dem einen Bild wirft mit "Raytracing on" keinen Schatten? Würde mich nicht wundern wenn beides Pre-baked Schatten sind ...

Edit: Die Antenne auch nicht (Raytracing im Vergleich (8))

Die Antenne wirft einen klaren Schatten auf den Turm und gleiches sieht man in allen Bildern mit passendem Winkel auch für das MG. Auf den 7-10 m entfernten Boden trifft in Bild 8 kein Schatten mehr, das würde man von einer vielleicht 1 cm breiten Antenne aber auch nicht erwarten. Von daher: Lol @Realität.
 
müsste jemand beantworten, der das Spiel spielt. Früher war das ein offensichtliches Problem.

Ich habe mal den Afterburner eine Runde mitlaufen lassen,
also die Auslastung von CPU und GPU ist doch sehr Moderat.

CPU Auslastung meist unter 40%.
GPU Auslastung meist unter 80%.
Wird auch im späteren Verlauf nicht signifikant höher...

Hierzu meine Config und Setup:

7700k läuft derzeit mit Energiesparprofil deswegen nur 4.500 Mhz
RTX 2080 läuft mit derzeit 2.000 Mhz und 15.500 Mhz VRAM Takt

also beides nichts besonderes.

WQHD, Maxed Out (Alles Ultra), Grafiktreiber preset auf Qualität, FPS Cap bei 140.

Siehe Screen 1:
Alle Fahrzeuge waren noch intakt, also 30 Spieler.

2019-10-17 (1).jpg

Screen 2 und 3 zeigen einen 1024x768 Bennchmark mit jeweils geringen und Ultra Details, dabei schafft der 7700k je nachdem 400-900 FPS:

EncoreCPU_Ultra.JPG EncoreCPU.JPG
 
Zuletzt bearbeitet:
Die Bounding Volume Hierarchy wird auf der CPU berechnet.

Gruß,
Phil
Yes Sire! Man war ja in der Vergangenheit gerade hier der Meinung - das wäre alles viel zu langsam und ginge ohne dedizierte Hardware nicht. Embree ist seit September über Github einsehbar, recht interessant - wobei das WT-Renderteam wohl auf einen ähnlichen open source Kernel aufsetzt.

GitHub - embree/embree: Embree ray tracing kernels repository.

Was die Aussage - "Entwickler und bereitgestellte umfassende Raytracing-API angeht" - ist das in dem Fall tatsächlich verwunderlich. Vor nicht geraumer Zeit war erwünscht das Entwickler grundsätzlich mehr über die dann freiwerdenden Hardwareressourcen verfügen wollten, ohne das es zentrale Ansätze oder herstellerbezogene Einschränkungen gibt. Wahrscheinlich ist Raytracing dann doch komplexer als man es sich vorgestellt hat und die Verwendung dedizierter Hardware offenbart zu viel von dem, was man in seiner eigenen Entwicklung eher insgeheim hält, ohne Hilfe vom Hersteller annehmen zu müssen.

Der Ansatz einen offenen Standard schaffen zu wollen, ist jedenfalls begrüßenswert. Wie man sieht kann man auch die CPU sinnvoll einbinden.

Der Artikel ist umfangreich - aber verständlich geschrieben. Tolle Arbeit.

Die API erlaubt RTCBVH, intersect und occuluded bei Strahlenpaketen bis Größe 16.
 
Zuletzt bearbeitet:
Fand den Artikel super interessant. Gerne mehr von solchen in-depths Artikeln, die einen etwas höheren Anspruch haben.
 
mhh ja.... Blue-Screen + Bunte streifen und Flakernde schwarzweiße Muster bei erreichen der 100% Fehleranalyse nur "nvlddmkm.sys"-fehler hat er mir gnädigerweise noch angezeigt.
Das ist das Ergebnis vom aller ersten versuch jemals!!! World of Tanks/RT zu Probieren. Ich dachte meine Karte liegt jetzt unterm Rhababer... wegen den Streifen wie damals meine 440MX^^. Belastungstest laufen ganz gut nur meine Extra hohen Texturen per ini in the Witcher werden nicht mehr fehlerfrei angezeigt alle Gelben Blumen blinken rauch ist nur noch Quader und die GPU springt zwischen 37 und 96% Auslastung ohne Interaktion der Figur. Gestern war es noch nicht so^^ Auch SFC per Admin, DDU und NV cleaninstall helfen nicht mehr:ugly::schief:

Fazit:
World of Tanks/RT hat folgendes ausgelöst Krieg!!! zwischen Windows und Nvidia auf meinem Rechner zumindestens:daumen::daumen:
 
So wie es aussieht kann ich den 3900X mit der GTX 1080 nicht mal in dieser Auflösung ausfahren. Die GTX limiert immer noch :schief:.

73915 ohne übertaktung der Karte und 75741 wenn ich der GTX ein wenig die Sporen gebe.

768p.png 768p+.png
 
Yes Sire! Man war ja in der Vergangenheit gerade hier der Meinung - das wäre alles viel zu langsam und ginge ohne dedizierte Hardware nicht. Embree ist seit September über Github einsehbar, recht interessant - wobei das WT-Renderteam wohl auf einen ähnlichen open source Kernel aufsetzt.

GitHub - embree/embree: Embree ray tracing kernels repository.

Was die Aussage - "Entwickler und bereitgestellte umfassende Raytracing-API angeht" - ist das in dem Fall tatsächlich verwunderlich. Vor nicht geraumer Zeit war erwünscht das Entwickler grundsätzlich mehr über die dann freiwerdenden Hardwareressourcen verfügen wollten, ohne das es zentrale Ansätze oder herstellerbezogene Einschränkungen gibt. Wahrscheinlich ist Raytracing dann doch komplexer als man es sich vorgestellt hat und die Verwendung dedizierter Hardware offenbart zu viel von dem, was man in seiner eigenen Entwicklung eher insgeheim hält, ohne Hilfe vom Hersteller annehmen zu müssen.

Der Ansatz einen offenen Standard schaffen zu wollen, ist jedenfalls begrüßenswert. Wie man sieht kann man auch die CPU sinnvoll einbinden.

Der Artikel ist umfangreich - aber verständlich geschrieben. Tolle Arbeit.

Die API erlaubt RTCBVH, intersect und occuluded bei Strahlenpaketen bis Größe 16.

Die Low-Level-Möglichkeiten wurden immer nur von einigen ganz großen Engine-Entwicklern begrüst und zahlreiche Kommentatoren (z.B. ich :-)) haben schon vor DX12/Vulkan bei Mantle darauf hingewiesen, dass der Wegfall von Treiberroutinen für kleine Entwickler einfach nur Mehrarbeit bedeutet, die sie nicht vernünftig leisten können. An wir-kaufen-ganze-Studios-nebenbei-Wargaming habe ich damals zwar nicht gedacht, aber offensichtlich fließt nur ein Teil der WoT-Einnahmen in die WoT-Entwicklung.
 
Zurück