Das PIX-Team hat das Performance- und Debugging-Werkzeug PIX on Windows in der Version 2310.30 am 30. Oktober 2023 veröffentlicht. Im Mittelpunkt steht eine deutlich beschleunigte Auswertung der Pipeline-Daten. Bei AAA-Raytracing-Titeln benötigte der Pipeline-Tab für DispatchRays()-Events bisher mehrere Stunden, bis die Ansicht vollständig befüllt war. In der neuen Fassung ist ein Großteil der Daten bereits innerhalb von rund 5 Sekunden nach dem Öffnen der Capture-Datei verfügbar, der Rest folgt in der Regel innerhalb von etwa 30 Sekunden. Parallel dazu erweitert das Release das Debugging von Raytracing-Shadern und ergänzt mehrere Analysefunktionen.
Schnellere Pipeline-Ansicht und optionales Shader Access Tracking
Die Beschleunigung des Pipeline-Tabs zielt direkt auf die tägliche Optimierungsarbeit ab, bei der Entwickler eine Capture-Datei wiederholt öffnen und einzelne Events untersuchen. Wo zuvor mehrstündige Wartezeiten den Iterationszyklus ausbremsten, steht die Ansicht nun nach Sekunden bereit. Das PIX-Team nennt als Beispiel ein Game-Engine-Sample, bei dem sich die Zeit bis zum Start der Analyse und zur Anzeige des Backbuffer-Inhalts von rund 6 Minuten auf etwa 20 Sekunden reduziert hat. Engine-seitig setzen Studios zunehmend auf moderne Engine-Versionen wie die Unreal Engine 5.6, deren Renderpfade vom kürzeren Tooling-Zyklus profitieren.
Ein wesentlicher Hebel dafür ist das Shader Access Tracking, das jetzt eine optionale Funktion ist. Statt das Verfahren generell zu durchlaufen, lässt es sich gezielt über die Schaltfläche „Gather Accessed Resources“ aktivieren. Der bislang nötige Eingriff über den Registry-Key „DisableShaderAccessTracking“, um das Tracking abzuschalten, entfällt damit. Ohne die zusätzlichen Informationen zu zugegriffenen Ressourcen bleibt die Auswertung von vornherein schlanker und schneller.
Raytracing-Shader, Hierarchy Tree und Circular Timing Captures
Beim Shader-Debugging deckte PIX zuvor nur RayGen-Shader ab. Die Version 2310.30 erweitert die Unterstützung auf ClosestHit-, AnyHit- und Miss-Shader. Eine Invocations-Ansicht erlaubt das Umschalten zwischen den erzeugten Shader-Aufrufen, sodass sich einzelne Invocations im Detail nachvollziehen lassen. Ergänzend zeigt ein neuer Acceleration-Structure-Hierarchy-Tree die Instanzen und Geometrien, aus denen sich TLAS und BLAS zusammensetzen, samt Eigenschaften wie Größe, Flags und Transform. Solche Werkzeuge greifen tief in die DirectX-12-Pipeline ein, auf der die meisten dieser Titel aufsetzen.
Hinzu kommen Circular Timing Captures als optionaler Modus. Dabei werden die Timing-Daten in einem Ringpuffer gesammelt, während die Anwendung läuft. Das Verfahren eignet sich vor allem dafür, die letzten Sekunden vor einem bestimmten Zustand festzuhalten, etwa kurz vor einem Performance-Einbruch. Insgesamt sinken die Wartezeiten im Tooling deutlich, und der Blick in die Raytracing-Pipeline wird feiner. Optimierungsdurchläufe lassen sich dadurch häufiger durchführen.
