Raytracing in Spielen VI: Raytracing bei AMD und Fazit

 3/3
Christoph Riedel
93 Kommentare

Wie könnte AMDs Ansatz aussehen?

AMD hat Mitte des letzten Jahres in einem Patent einen Ansatz für Echtzeit-Raytracing in Hardware beschrieben, der von dem von Nvidia verfolgten abweicht. Darin werden die Berechnungen für Raytracing in die Texturprozessoren der Shader integriert. Für Überraschung sorgte ein Entwickler der Xbox Series X mit AMD-GPU zwei Monate später, als er von dedizierten RT-Kernen bei AMD sprach, was auf den ersten Blick einer integrierten Lösung widerspricht. Auf den zweiten deutet die Kombination beider Welten aber darauf hin, welchen Ansatz AMD bei Raytracing verfolgen wird.

Der BVH-Algorithmus benötigt einen guten Zugriff auf Cache und VRAM bei hoher Bandbreite. Als ausgegliedertes Element, wie es der RT-Kern bei Nvidia ist, bedeutet dies Flächenverbrauch durch eine zusätzliche Speicheranbindung. AMD beschreibt, dass der Texturprozessor, der für das Abrufen der Texturen beim Shading zuständig ist, bereits eine optimale Anbindung an den Speicher besitzt. Er ist dadurch prädestiniert, den BVH-Algorithmus speichereffizient auszuführen. Der zweite Schritt für Raytracing, die Schnittstellenbestimmung, wird im Anschluss durch eine neue Recheneinheit, die sogenannte „Ray Intersection Engine“, durchgeführt. Diese ist eine Fixed-Function-Einheit, also wie bei Nvidia ein ASIC, der in den Texturprozessor integriert wird. Diese Einheit könnte diejenige sein, die vom Xbox-Entwickler als dedizierte Recheneinheit für Raytracing bezeichnet wurde.

RDNA (hier Navi 10) kann noch kein RT, RDNA2 dann aber schon
RDNA (hier Navi 10) kann noch kein RT, RDNA2 dann aber schon

Das unterscheidet Nvidias und AMDs Ansatz

Der Ansatz von AMD unterscheidet sich von Nvidias Vorgehensweise in zwei Dingen. Zum einen führt die neue Recheneinheit nur einen anstelle von zwei Schritten der Raytracing-Pipeline aus. Dadurch kann dieser Bereich kleiner ausfallen, was Chipfläche spart. Zum anderen wird das Scheduling, also die Entscheidung, welche Schritte wann unternommen werden, vermehrt von der Shader-Einheit ausgeführt. Der Texturprozessor arbeitet stets nur den Strahlendurchgang durch eine Box-Ebene in der BVH ab und liefert das Ergebnis (Strahlen-Schnittstelle bzw. weitere Boxen, die durchlaufen werden müssen) zurück an die Shader-Einheit. Dies geschieht auf die gleiche Weise, wie bisher Texturen bereitgestellt wurden, und kann deshalb die bestehende Infrastruktur der Shader weiterverwenden. Danach entscheidet die Shader-Einheit, welche Schritte als Nächstes erfolgen, und erlaubt Entwicklern so eine bessere Kontrolle über den Rechenaufwand, der für Raytracing aufgebracht werden soll. Auch wie viele Sekundärstrahlen weiterverfolgt werden sollen, wird durch die Shader-Einheit bestimmt.

Ob AMDs Lösung tatsächlich so wie hier beschrieben aussieht und ob die Konsolen eine abweichende Lösung erhalten, wird sich im Laufe dieses Jahres zeigen. Für die kommenden Grafikkarten auf Basis von RDNA2 gibt es noch keinen genaueren Termin als das Jahr 2020. Für die Konsolen ist hingegen bekannt, dass sie Ende des Jahres erscheinen sollen. Auch von Nvidia dürfte es dieses Jahr eine neue Grafikkartengeneration geben, bei der Verbesserungen beim Raytracing zu erwarten sind. Fest steht dabei nur: Sie werden zu Microsoft DXR, wie es mittlerweile fester Bestandteil von DirectX 12 Ultimate ist, kompatibel sein.

Weitere Hintergründe in der Community

Seit der Ankündigung der RTX-Grafikkarten widmet sich ein Thread von Community-Mitglied ZeroZerp der Diskussion um die neue Technologie. Neben einer Liste aller angekündigten Spiele mit Raytracing-Unterstützung finden sich im Verlauf auch unzählige Videos mit Demos der neuen Technologie sowie Vorträge der Entwickler, die tief ins Detail gehen. Zu den Themen gehören Optimierungen bei Raytracing sowie die Implementierung völlig neuer, noch nie darstellbarer Effekte wie weiche Schatten, die sich der Rauheit des Untergrunds anpassen.

Fazit

Im Jahr 2007 wurde auf ComputerBase zum ersten Mal intensiv über Raytracing berichtet. Seit 2018 wird diese Technologie schließlich in Hardware unterstützt und in Spielen implementiert. Um den hybriden Ansatz von gleichzeitiger Rasterisierung und Raytracing zu ermöglichen, müssen die Architekturen von Grafikkarten deutlich erweitert und angepasst werden. Was bisher bekannt ist, wurde in diesem Artikel zusammengefasst. Inwieweit sich Raytracing dieses Jahr durch Neuerscheinungen an der Hardware-Front weiterentwickelt, bleibt abzuwarten. Ebenso offen bleibt die Frage, wie viele Spiele mit Raytracing in den nächsten Jahren dazukommen werden. Fest steht: Der Technik gehört zweifelsohne die Zukunft, man muss sie nur effizient berechnen können. Mit den nächsten Konsolen dürfte es auch in diesem Punkt einen guten Schritt vorangehen.

Dieser Artikel war interessant, hilfreich oder beides? Die Redaktion freut sich über jede Unterstützung durch ComputerBase Pro und deaktivierte Werbeblocker. Mehr zum Thema Anzeigen auf ComputerBase.