Microsoft hat sein Performance- und Debugging-Werkzeug für Direct3D 12 in einer neuen Fassung herausgebracht. PIX 2208.10 ist am 10. August 2022 erschienen und bringt vor allem Support für Shader Model 6.7. Shader nach diesem Modell lassen sich damit aufzeichnen, wiedergeben, debuggen und profilen. Dazu kommen mehrere Erweiterungen bei GPU- und Timing-Captures sowie über 23 Fehlerbehebungen. Wer mit dem aktuellen Stand von PIX on Windows arbeitet, bekommt diese Funktionen ohne Umwege geliefert.
Was sich bei GPU-Captures ändert
An den GPU-Captures hat das Team an mehreren Stellen geschraubt. Die programmatische API kann jetzt mehr: Aufzeichnungen, die über PIXBeginCapture() entstehen, tauchen direkt in der PIX-Oberfläche auf, Dateipfade für Captures lassen sich optional setzen, und mit PIXForceD3D11on12() steht eine neue Schnittstelle bereit. Neu ist außerdem die GPU Power State Selection. Damit lässt sich die GPU während der Profilierung eines GPU-Captures in verschiedene Energiezustände versetzen. Die dafür nötigen Definitionen liefern zum Zeitpunkt der Veröffentlichung AMD und Intel für ihre unterstützte Hardware. Weitere Hersteller sollen in einer späteren PIX-Version dazukommen.
Als experimentelle Funktion gibt es zusätzlich das Capture Trimming über das Kommandozeilenwerkzeug pixtool. Aus großen Capture-Dateien lassen sich damit einzelne Regionen herauslösen und in kleinere, separate Dateien speichern. Das macht die Reproduktion von Fehlern deutlich einfacher.
Mehr Daten und Budgetlinien bei Timing-Captures
Bei den Timing-Captures protokolliert PIX nun Informationen zu allen allokierten und freigegebenen D3D-Ressourcen und Heap-Objekten. Performance-Budgets erscheinen als Budgetlinien in der Metrics View, womit Punkte oberhalb des Budgets schneller ins Auge fallen. Metrikdaten lassen sich zudem im CSV-Format exportieren und in Werkzeugen wie Excel weiterverarbeiten. Die zahlreichen Fehlerbehebungen betreffen unter anderem das DXR-Debugging, die PDB-Verarbeitung, die Adapterauswahl, die Texturansicht sowie Race Conditions bei Timing-Captures.
