Am 11. März 2024 hat das Team hinter dem GPU- und CPU-Profiler PIX on Windows die Version 2403.08 veröffentlicht. Neu daran: Die Direct3D-12-Work-Graphs-API wird nun als finale Schnittstelle unterstützt, nicht mehr als Preview. Für Work Graphs gibt es damit volle Capture- und Replay-Unterstützung. Dazu gehören Einblick in die Event-Details, das Layout der Local Root Arguments Table, die Node-Eingaben, eine Aufschlüsselung der State Objects und die zugehörigen Hardware-Counter-Daten.
Auch die GPU Upload Heaps verlassen mit dieser Ausgabe den Vorschau-Status. Die Performance-Probleme auf Betriebssystem-Seite, die PIX in der Vorjahres-Preview im Zusammenspiel mit GPU Upload Heaps ausgebremst hatten, sind laut Microsoft behoben. Hinzu kommen Shader Model 6.8 sowie Generic Programs in State Objects und Incrementing Constants. PIX bildet damit die jüngsten Erweiterungen der D3D12-Schnittstelle in Capture und Analyse ab.
Shader-Debugging, Visualizer und Ressourcen-Tracking
Beim Shader-Debugging nennt das Team eine konkrete Zahl: An einem DXR-Engine-Sample sei die Ladezeit von über fünf Minuten auf rund 30 Sekunden gefallen. Außerdem sammelt PIX jetzt Shader-Reflection-Daten aus PDBs, was die Arbeit mit stripped PDBs erleichtert. Neu sind auch Texture-Visualizer für Depth, Stencil und Culling-Tests sowie eine Darstellung von Viewport und Scissor Rect.
Auf der Ressourcen-Seite verfolgt PIX nun demoted Allocations und deren Migration, also das Verschieben von GPU-Ressourcen aus dem lokalen Videospeicher. In Timing-Captures meldet das Werkzeug zusätzlich die CPU-Auslastung pro Thread und Kern. Das hilft, Last in der Timeline einzelnen Cores zuzuordnen.
Wechsel auf .NET 8 als technische Basis
Die Benutzeroberfläche von PIX läuft jetzt auf .NET 8 statt auf .NET 6. Der Wechsel räumt nach Angaben des Teams mehrere bekannte .NET-6-Fehler aus dem Weg, darunter ein Absturz im Zusammenspiel mit Logitech-Mäusen. Die neue Laufzeitumgebung löst die alte .NET-6-Basis komplett ab und trägt die in 2403.08 ausgelieferten Funktionen.
