Microsoft hat das Performance-Werkzeug PIX on Windows in der Version 2010.26 am 27. Oktober 2020 veröffentlicht. Die Aktualisierung bringt eine überarbeitete Visualisierung der Command-List-Ausführungen in Timing-Captures, einen neuen Descriptor-Heap-Viewer für GPU-Captures sowie Korrekturen mehrerer von Nutzern gemeldeter Fehler. PIX dient Entwicklern zur Analyse und Optimierung von Direct3D-12-Anwendungen auf Windows und Xbox.
Command-List-Ausführungen klarer dargestellt
Die Timing-Captures wurden mit einer verbesserten Darstellung der Command-List-Ausführungen versehen. Eine Execution umfasst dabei eine oder mehrere Command-Lists, die über einen Aufruf von ExecuteCommandLists an die GPU übergeben werden. Die von jeder Command-List ausgeführte GPU-Arbeit zeichnet PIX direkt unterhalb des zugehörigen grünen Command-List-Balkens auf der Zeitleiste. Wird ein Execution-Block ausgewählt, erscheint ein Pfeil, der auf die Stelle der entsprechenden ExecuteCommandLists-Aufrufe auf der CPU-Zeitleiste verweist.
Werden mehrere Ausführungen markiert, nennt die Range-Details-Ansicht die jeweiligen Start- und Endzeiten sowie die Dauer. So lässt sich der Zusammenhang zwischen der auf der CPU angestoßenen Übergabe und der tatsächlichen Abarbeitung auf der GPU genauer nachvollziehen.
Neuer Descriptor-Heap-Viewer und weitere Anpassungen
Für GPU-Captures kommt eine neue Ansicht hinzu, die den Inhalt von Descriptor-Heaps darstellt und diese mit den repräsentierten Ressourcen verknüpft. Erreichbar ist der Viewer über die Schaltfläche Views oben rechts im PIX-Fenster. Eine Auswahlliste blendet alle innerhalb des Captures angesprochenen Heaps ein. Die Ansicht zeigt den Inhalt zum Zeitpunkt des aktuellen Events und aktualisiert sich beim Navigieren durch die Events. Zusätzlich verlinkt die Root Signature in der State-Ansicht nun die Mitglieder einer Descriptor-Heap-Tabelle auf den jeweils zugehörigen Descriptor. Entwickelt hat die Funktion Praktikant Amogh Subhedar.
Die Version enthält außerdem neue Plug-ins von AMD und NVIDIA. Das NVIDIA-Plug-in ergänzt die Unterstützung für GPUs der Ampere-Architektur, einschließlich der GeForce RTX 3080. Das AMD-Plug-in erhielt eine abwärtskompatible Anpassung, um künftige Treiberänderungen zu berücksichtigen. AMD hatte seine offenen Software-Tools für Spieleentwickler zuvor schon mehrfach erweitert. Hinzu kommen kleinere Verbesserungen wie die Darstellung verschachtelter Strukturen im Buffer-Viewer, Anzeigeoptionen für den Allocation-Stack-Tree in KiB oder MiB sowie der Wegfall von Limits bei der Event-Anzahl großer Captures. Behoben wurden mehrere Fehler bei Callstacks, Pixel History, Shader-Debugging und Acceleration Structures.