[...]
Wie gesagt: Ray Tracing an sich ist super.
Aber es wird sich erst dann nennenswert in Spielen verbreiten, sobald auch eine XX50, bzw. eine R* X60 RT flüssig in 1080p 60 darstellen kann.
Alles andere ist für den Spielemarkt ein reines Gimmick.
Das würde gut als Dreingabe zu einem Yps Heft passen.
[...]
Welche technischen Fortschritte waren zu Beginn nicht Gimmicks?
Ah, da kommt es auch wieder völlig darauf an was jemand als "Gimmick" bewertet.
Jeder der ein wenig in die Historie schaut weiß, dass die Verbreitung von neuen Sachen eher schleppend vorangeht.
Aber jeder kann selber entscheiden, welche Features ihm das Geld wert sind und wenn wir über Dinge diskutieren und allgemein pauschalisieren möchten, wäre es da nicht angebracht, immerhin auf die ersten praktischen Ergebnisse zu warten?
Ich frage mich halt, warum mit Raytracing im GPU-Bereich nicht schon früher in dem Umfang experimentiert wurde.
Jede Radeon/GeForce ist doch eigentlich schon seit DirectX10 dazu fähig. Reichte früher dafür die Rechenleistung nicht aus? Traute sich kein Entwickler da ran?
Schon vor mehr als 10 Jahren sagte mal irgend' ein Experte (ich glaube, einer von den "Crytek-Brüdern") dass Polygone an sich eigentlich veraltet sind und irgendwann ihre Grenzen haben. Wenn also keiner auf Voxel oder so umsteigen will, wäre Raytracing der nächste logische Schritt Richtung Fotorealismus. Nur warum hat das früher keiner gemacht? Da ist mein Layenwissen grade etwas überfordert.^^
Es wurde damit experimentiert, aber die Technik war allgemein zu limitiert, wir hatten damals keine Compute-Shader, um flexibel die ALUs zu programmieren, es gab keine generischen read/write caches und shared memory was man nutzen konnte, man musste sich Zeug eklig über Pixel-Shader und Texture-Memory zusammeln frickeln.
Hier ist exemplarisch ein Forschungspaper, was auf eine Umsetzung von Raytracing auf GPUs eingeht mit einer Geforce 6800GT von 2004:
http://www.cse.chalmers.se/~uffe/xj...emented on Programmable Graphics Hardware.PDF
Polygone bleiben uns noch eine Weile erhalten, weil es eine gute Hardware-Unterstützung gibt und soviele Ressourcen schon mit Polygonen erstellt worden sind und fast alle Studios eine stehende Content-Pipeline für Polygone haben, einfaches switchen, selbst wenn es große Vorteile gibt, ist nicht möglich.
Dreams und Claybook verwenden aber nicht direkt Polygone, sondern Signed Distance Fields, womit man ein automatisch skalierbares Level-of-Detail System bekommt, ohne extra Zwischenstufen selber erstellen zu müssen.
Voxel verwenden auch ein paar Indie-Games in einem kleinem Rahmen.
Mit der PS5 sehen wir vielleicht auch mehr alternative Gehversuche, wenn es ausreichend viel Speicher gibt und die Programmierung effizient von der GPU-Seite erfolgen kann.
Wie sieht das dann eigentlich in Zukunft aus?
[...]
Sollte AMD in Zukunft auch dedizierte RT-Einheiten verbauen, müssten Entwickler dann immer 2 Pfade pflegen?
Da es mit RTX bereits eine Vendor gebundene Middleware gibt, seh ich es kritisch, wie da in Zukunft eine vernünftige Standardisierung entstehen soll.
Oder ist das alles gar nicht so kompliziert, da es eine Standard API gibt, die Software also einfach Berechnungen losschickt und die Hardware gucken muss, wie sie damit klar kommt?
In gewisser weise muss man hier wohl mit einem jaein antworten.
Laut DICE würde der aktuelle Raytracing-Pfad nicht automatisch bei AMD laufen, wenn AMD DXR unterstützen würde, weil ein paar spezifische Funktionen zum Einsatz kommen und man nach optimiernen müsste:
“We only really talk with DXR,” DICE’s Technical Director, Christian Holmquist told me this week, “but because we have been running with Nvidia hardware we know that we have optimised for that hardware.”
“We also use certain features in the compiler with intrinsics, so there is a dependency,” he says, “but that can be resolved when we get hardware from a potential other manufacturer.”
Battlefield 5’s ray tracing build isn’t necessarily limited to Nvidia’s RTX cards | PCGamesN
DXR ist ein gemeinsamer Standard, aber ein paar extra Schalter könnten nötig sein, im Prinzip ist das auch kein Problem, wenn es sich in Grenzen hält.
Schon jetzt gibt es mehrere unterschiedliche Pfade pro Hersteller, bei unterschiedlichen Stellen.
DX11 ist ein gemeinsamer Standard, aber mehrere Spiele verwenden exklusive Herstellerhacks, um zusätzliche Features zu bekommen.
AGS wird im Fall von AMD eingebunden, NvAPI bei Nvidia, ein paar bietet noch Intel an.
Einige Spiele verwenden auch unterschiedliche Shader für AMD oder Nvidia, Doom und Wolfenstein haben jeweils extra optimiert, wo es noch oben drauf exklusive Shader-Intrinsics für AMD gibt.
Ich würde mal denken, dass es in der Zukunft auch nicht großartig anders laufen wird.
Gibts schon vernünftige Benchmarks zu Hitman?
Ich habe mir keine umfangreichen Bechmarks angeschaut, aber ein Video von Digital Foundry.
Ein Ryzen 1700X sucked übelst ab, mit drops unter 50FPS, ein i5 8400 ist viel schneller:
YouTube
Das Spiel braucht DX12 (was es nicht hat) oder allgemeine Optimierungen bei Ryzen, die Performance geht gar nicht.
Aber auch nur wenn AMD mit der DX12 Unterstützung nicht hinterher hinken würde. So wie früher auf nvidia wegen Dx 11.1 herumgehackt wurde könnte man jetzt anbringen das AMD DX12.1 noch immer nicht unterstützt - erstmal egal da sowieso die wenigsten Spiele überhaupt Dx12 nutzen und von denen noch weniger wirklich die vorteile nutzen.
[...]
Bei der RTX 2080 Ti nehmen die RTX-Cores ungefähr halb so viel Fläche wie die normalen CUDA cores - das ist spezialisierte Hardware die die Strahlenberechung sehr effizient abarbeiten kann (Spezialhardware ist oft um den Faktor 10 oder mehr schneller).
Es gibt kein DX12.1, nur DX12 mit vier Feature-Levels.
Nvidia hat zuerst FL12_1 unterstützt, danach Intel mit Gen9 (Skylake) und zum Schluss AMD mit Vega.
Aber FL12_1 schließt nur zwei Features mit ein, Conservative Rasterization Tier 1 und Rasterizer Ordered Views, es gibt daneben noch viel mehr optionale Features.
So sieht es aktuell aus:
Und man weiß ohne die-shots nicht, wie groß ein RT-Core flächenmäßig ausfällt, aber bezogen auf die Gesamtfläche vom Chip würde ich von weniger als 10% ausgehen.