Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Das Verständnis der Threadausführungsanzeige von GPUView ist wichtig, um zu sehen, wo Threads aktiv sind und wo sie videospezifische Funktionen ausführen.
Das folgende Diagramm ist ein Screenshot eines Bruchteils einer Millisekundenzeit, der nur die aktiven Threads zeigt, die sich über zwei Prozesse erstrecken – den Systemprozess und den GPUView-Leerlaufprozess. In dieser Ansicht werden drei Threads angezeigt.
Bei jedem Thread befindet sich der Name auf der linken Seite, und in einem grauen rechteckigen Bereich auf der rechten Seite werden die Ausführungsintervalle angezeigt. Dieser gesamte Bereich wird als Threadbereich bezeichnet.
Thread Name
In der roten Ellipse in der vorherigen Grafik wird die Thread-ID in den Klammern gefolgt von dem Modul und der Funktion angezeigt, die den Thread erzeugt haben. In diesem Fall dxgmms1.sys Thread 432 im Offset 0x37DC0. Wenn Symbole geladen werden, zeigt GPUView den symbolischen Namen anstelle der Offsetnummer an.
Threadausführungsbereich
Der Graubereich rechts neben dem Namen, der Threadausführungsbereich, stellt die Zeit dar, zu der ein Thread ausgeführt werden konnte. In diesem Fall wurde der Thread in diesem Zeitraum zweimal ausgeführt.
Threadausführungsintervall
In diesem Fall stellen die weißen Rechtecke dar, wann der Thread tatsächlich ausgeführt wurde. Dieses Diagramm zeigt zwei Threadausführungsintervalle.
Detailtext
Auf der rechten Seite direkt über dem Threadausführungsbereich finden Sie Details zur Ausführung des Threads. Die erste Zahl ist die Anzahl der Ausführungsintervalle in diesem Zeitraum. Die zweite Zahl mit der Bezeichnung iTime gibt die Zeitspanne an, für die DPCs in diesem Thread ausgeführt wurden. Das dritte Element ist die Gesamtzeit des Ausführungsintervalls, und das letzte Element ist der Prozentsatz der Viewportzeit, die der Thread ausgeführt hat.
Details zum Ausführungsintervall
Hintergrundfarbe
GPUView-Farbcodes für die Hintergrundfarbe des Ausführungsintervalls, um die Prozessorbeziehung anzuzeigen. Im Fall des vorherigen Diagramms weist der Leerlaufprozess zwei Threads auf, was angibt, dass es sich um einen Dual-Core-Computer handelt. Einem Prozessor wurde die Farbe Weiß und der andere hellgrün zugewiesen. Wenn Threadwechsel auftreten, zeichnet GPUView den Hintergrund mit den Prozessorinformationen, die zeigen, dass der Systemthread beim Ausführen des Systemthreads auf dem ersten Prozessor ausgeführt wurde.
GPUView zeigt derzeit acht eindeutige Prozessorfarben an und unterstützt bis zu 32 eindeutige Prozessoren.
Thread-Priorität
Die Zahl, die zu Beginn jedes Ausführungsintervalls angezeigt wird, ist die Priorität des Threads.
Hardware- oder DPC-Unterbrechungen
Hardwareunterbrechungen oder Verzögerte Prozeduraufrufe können jederzeit in jedem Thread ausgeführt werden. GPUView zeigt diese Informationen als kreuzgestrichene Zeit im Ausführungsintervall an. Hardwareunterbrechungen werden in roten Kreuzschaffen und DPCs blau angezeigt.
Im vorherigen Diagramm wurde ein DPC auf dem ersten Kern im Leerlauf ausgeführt, und kurz danach kam es zu einer Hardwareunterbrechung am zweiten Leerlaufkern.
Profilerstellung für geschachtelte Ausführung
Bei einigen APIs zeigt GPUView die in bestimmten Funktionen aufgewendete Zeit an. Dies wird im Ausführungsintervall als geschachtelte Ausführung bezeichnet. Ein erheblicher Teil der Video kernelprotokolliert Ereignisse, die angeben, wenn der Thread eine bestimmte Routine eingegeben oder verlassen hat.
Im vorherigen Diagramm zeigt der Pfeil nach links auf die Schachtelungsausführungszeit, die blau ist. Blau ist eine reservierte Farbe, die Videokerncode angibt. Der zweite Pfeil zeigt auf die geschachtelte Ausführungszeit, die rot ist. Rot ist als Kernelzeit des Videotreibers reserviert.
Stapellaufpunkte
Wenn das Stapellaufen für die Ablaufverfolgung aktiviert ist, zeigt GPUView sie als Punkte direkt unter dem Ausführungsintervall an. Im vorherigen Diagramm gibt es drei Stack Walk-Punkte für die beiden Intervalle.
Nichtausführungszeit
Wenn ein Thread innerhalb der Viewportzeit erstellt oder zerstört wird, zeigt GPUView die Nichtexistenz über eine horizontale Linie an. Im folgenden Diagramm wird die Startzeit des Viewports durch die vertikale Linie direkt rechts neben dem Threadnamen dargestellt. Die horizontale Linie, auf die durch den roten Pfeil zwischen dem Pfeil und dem Ausführungsbereich verwiesen wird, stellt die Zeit dar, in der der Thread nicht vorhanden war.