Microsoft hat im DirectX Developer Blog am 30. Mai 2025 die Details zu Shader Execution Reordering (SER) in Direct3D 12 veröffentlicht. Das Verfahren adressiert ein strukturelles Problem moderner Raytracing-Pipelines: Strahlen, die innerhalb einer Wavefront stark divergierende Pfade nehmen, führen zu inkohärenter Shader-Ausführung und unregelmäßigen Speicherzugriffen. SER erlaubt es dem Anwendungscode, der Hardware über HLSL-Hinweise mitzuteilen, wie sich Arbeit für eine bessere parallele Abarbeitung sortieren lässt. Verfasst wurde der Beitrag von Amar Patel aus dem DirectX-Engineering-Team. DXR 1.2 inklusive SER tauchte bereits auf der GDC 2025 auf, wo NVIDIA seine Neural-Rendering- und RTX-Technologien präsentierte.
HLSL-Intrinsics: MaybeReorderThread und HitObject
Den Kern der Erweiterung bilden zwei neue HLSL-Konstrukte. Mit der Intrinsic MaybeReorderThread() übergibt der Shader einen anwendungsdefinierten Sortierschlüssel, anhand dessen die Hardware Threads vor der nachgelagerten Ausführung neu gruppieren kann. Im Codebeispiel der Originalquelle erfolgt der Aufruf als dx::MaybeReorderThread(sortKey, 1), wobei der zweite Parameter die Anzahl der relevanten Schlüsselbits angibt. Ergänzend führt SER das Objekt HitObject ein, das die Traversierung samt Any-Hit- und Intersection-Tests von der nachgelagerten Closest-Hit- und Miss-Shading-Phase entkoppelt. Über HitObject::TraceRay() wird das Treffer-Ergebnis als Zustand gehalten, ohne sofort Shading auszulösen. Beide Mechanismen lassen sich kombinieren, sodass Entwickler Sortierhinweise sowohl aus Trefferattributen als auch aus eigener Logik ableiten können, bevor die teuren Shading-Stufen anlaufen.
Voraussetzungen und gemessene Auswirkungen
SER ist ein verpflichtender Bestandteil von Shader Model 6.9 und setzt entsprechend die Agility SDK in Version 1.619 sowie einen DXC mit Unterstützung für Shader Model 6.9 voraus. Auf Treiberseite beschleunigen die NVIDIA-Serien RTX 40 und RTX 50 das Verfahren, während ältere RTX-20- und RTX-30-Karten den Aufruf als No-Op behandeln. Dieselben aktuellen RTX-Karten stehen auch im Zentrum von Werkzeugen wie NVIDIA RTX Remix. Intel unterstützt SER auf Arc-B-Series-GPUs und der zweiten Generation der Core-Ultra-Prozessoren. Zur Wirkung nennt Microsoft konkrete Zahlen aus einem Beispielprojekt: Auf einer NVIDIA RTX 4090 ergab sich gegenüber dem Betrieb ohne SER eine um 40 Prozent höhere Bildrate, auf mehreren Intel-Arc-B-Series-Konfigurationen jeweils ein Zuwachs von 90 Prozent. Der Autor weist allerdings ausdrücklich darauf hin, dass synthetische Messwerte aus einem Sample wegen abweichender Workload-Zusammensetzung nicht unmittelbar auf reale Spielszenarien übertragbar sind. Der vollständige Beispielcode steht in der Datei Raytracing.hlsl der Originalquelle bereit.
