Das PIX-on-Windows-Team von Microsoft hat am 4. Mai 2020 die Version PIX 2004.27 des Performance- und Debugging-Werkzeugs für DirectX-12-Anwendungen veröffentlicht. Im Zentrum der Aktualisierung stehen ein überarbeiteter Buffer Viewer mit verbessertem Support für Strukturen sowie zwei neue Datenquellen in Timing Captures: Informationen zu CPU-Speicherallokationen und zu Datei-Ein- und -Ausgaben. Verfasst wurde der zugehörige Blogbeitrag von Morgan Grobin, Program Manager bei Microsoft.
Verschachtelte Strukturen im Buffer Viewer
Die Format-Spezifikationssyntax des Buffer Viewers wurde erweitert, um echte Verschachtelung von Strukturen sowie Arrays abzubilden. Komplexe Strukturen erscheinen nun standardmäßig in einer Baumansicht, die sich an den Locals- und Watch-Fenstern von Visual Studio orientiert und langwierige, sich wiederholende Beschreibungen vermeidet. Für einfacher aufgebaute Daten bleibt eine Tabellenansicht als Option erhalten.
Hinzugekommen sind mehrere Syntaxelemente. Mit der Angabe „pad n;“ lässt sich Padding spezifizieren. Eine Bitfeld-Extraktion ermöglicht das Auslesen bitweise gepackter Werte, etwa wenn Flags und Zähler gemeinsam in einem einzelnen DWORD abgelegt sind. Zudem erlauben Offset-Werte die Festlegung des Startbytes für die Visualisierung eines Puffers.
CPU-Speicher- und Datei-IO-Daten in Timing Captures
Timing Captures bieten ab dieser Version die Möglichkeit, CPU-Speicherallokationen und -freigaben aufzuzeichnen, die während eines Captures stattfinden. Aus diesen Daten erzeugt PIX Allokations-Stack-Bäume, mit denen sich potenzielle Speicherlecks identifizieren lassen. Ergänzend können Timing Captures Win32-Dateizugriffe erfassen und dabei Zeitpunkt, Dauer, gelesene Bytes sowie die zugehörigen Callstacks jeder einzelnen Datei-IO-Operation darstellen.
Weitere Anpassungen betreffen die Automatisierung und die GPU-Unterstützung. Das neue pixtool-Flag „–until-exit“ verarbeitet alle programmatischen Captures, bis die Anwendung beendet wird, was die Erfassung bei unbekannter Anzahl von Captures vereinfacht. Das aktualisierte AMD-Plugin bringt Unterstützung für kommende AMD-APUs sowie für den Treiber 20.10 im Zusammenspiel mit dem Windows 10 May 2020 Update samt Korrekturen bei der Occupancy-Anzeige. Wie eng moderne GPU-Funktionen mit der Tooling-Seite verzahnt sind, zeigt sich auch in Microsofts Arbeit an eigenen ML-Upscaling-Ansätzen. Bei Sampler Feedback wurden die Integration in die Pixel History, die Darstellung von MIN_MIP-Feedback-Maps und Replay-Fehler adressiert, die zuvor zu fehlgeschlagenen StartAnalysis-Aufrufen oder falschen Ressourcenzuständen geführt hatten.
