Das PIX-Team hat am 13. März 2019 die Version PIX 1903.12 veröffentlicht und damit das Feature High Frequency Counters in das Werkzeug zur GPU-Analyse unter Windows aufgenommen. Entwickler stellen damit Werte von GPU-Hardware-Countern über die Zeit als Graph dar und führen einzelne Bereiche dieser Graphen auf konkrete Ereignisse innerhalb eines GPU-Captures zurück. Verfasst wurde die Ankündigung von Austin Kinross, Engineering Manager im PIX-Team. Die offizielle PIX-Downloadseite führt PIX 1903.12 als ältere Hauptversion und verlinkt die zugehörigen Release-Informationen.
Counter-Werte über die Zeit hinweg sichtbar machen
High Frequency Counters ergänzen den bereits vorhandenen Occupancy-Graphen von PIX. Statt nur die Auslastung der GPU abzubilden, tastet das Werkzeug die Hardware-Counter laut PIX-Team typischerweise mehrfach pro D3D12-Ereignis ab. Dadurch lässt sich die GPU-Aktivität innerhalb einzelner Draw- und Dispatch-Aufrufe in feiner Auflösung beobachten. Die so gewonnenen Graphen bilden den zeitlichen Verlauf der Counter-Werte ab und beziehen einzelne Abschnitte zurück auf bestimmte Ereignisse im Capture. Das Werkzeug zielt auf die Performance-Analyse von DirectX-12-Anwendungen, wie sie etwa DirectX 12 einsetzt, und liefert nach Angaben des Teams Einblick in die GPU-Aktivität, der weit über die reine Occupancy-Betrachtung hinausreicht.
Hardware-Voraussetzungen bei AMD, Intel und NVIDIA
Das Feature läuft auf aktueller Hardware der drei GPU-Hersteller. Bei NVIDIA setzt es Turing-GPUs ab der GeForce RTX 2080 mit Treiber 418.81 oder neuer voraus, wobei es dort mit klassischen Grafik-, Compute- und DirectX-Raytracing-Workloads zusammenarbeitet. Intel-GPUs deckt das Team über moderne Modelle ab, zum Veröffentlichungszeitpunkt empfahl es Treiber 24.20.100.6286. AMD-Karten ab Mitte 2016 funktionieren mit Treiberversion 18.50 oder höher; passend dazu hatte AMD kurz darauf auf der GDC 2019 seine offenen Software-Tools für Spieleentwickler erweitert. Zusätzlich zu den High Frequency Counters bringt PIX 1903.12 Korrekturen an den Event-List-Countern für NVIDIA-Turing-GPUs, Unterstützung für die NVIDIA GTX 1660, einen Fix für den Occupancy-Graphen bei Anwendungen mit DiscardResource sowie Verbesserungen für DirectX-Raytracing- und 11on12-Anwendungen.