Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Comprendere la visualizzazione dell'esecuzione del thread di GPUView è fondamentale per vedere dove sono attivi i thread e dove eseguono funzionalità specifiche del video.
Il diagramma seguente è uno screenshot di una frazione di millisecondo di tempo che mostra solo i thread attivi che si estendono su due processi, ovvero il processo di sistema e il processo di inattività GPUView. In questa visualizzazione sono visualizzati tre thread.
Con ogni thread, il nome si trova sul lato sinistro e un'area rettangolare grigia sul lato destro è la posizione in cui vengono visualizzati gli intervalli di esecuzione. Questa intera area è nota come "Thread Area".
Nome thread
Nell'ellisse rossa nell'immagine precedente, l'ID del thread viene visualizzato tra parentesi seguito dal modulo e dalla funzione che ha generato il thread. In questo caso, è stato creato il thread 432 da dxgmms1.sys in corrispondenza dell'offset 0x37DC0. Se i simboli vengono caricati, GPUView mostra il nome simbolico anziché il numero di offset.
Area di esecuzione del thread
L'area grigia a destra del nome, l'area di esecuzione del thread, rappresenta il tempo in cui un thread può essere eseguito. In questo caso, il thread è stato eseguito due volte durante questo periodo di tempo.
Intervallo di esecuzione thread
In questo caso, i rettangoli bianchi rappresentano quando il thread è stato effettivamente eseguito. Questo diagramma mostra due intervalli di esecuzione del thread.
Testo dettagli
Sul lato destro, appena sopra l'area di esecuzione del thread, vengono forniti dettagli relativi all'esecuzione del thread. Il primo numero è il numero di intervalli di esecuzione durante questo periodo di tempo. Il secondo numero, etichettato come iTime, è la quantità di tempo in cui i DPC (Deferred Procedure Calls) sono stati eseguiti su questo thread. Il terzo elemento è la durata totale dell'intervallo di esecuzione e l'ultimo elemento è la percentuale del tempo del riquadro di visualizzazione durante il quale il thread è stato attivo.
Dettagli dell'intervallo di esecuzione
Colore di sfondo
GPUView codifica a colori lo sfondo dell'intervallo di esecuzione per mostrare la relazione del processore. Nel caso del diagramma precedente, il processo Idle ha due thread, indicando che si tratta di un computer dual-core. A un processore è stato assegnato il colore bianco e l'altro verde brillante. Quando si verificano passaggi di thread, GPUView pittura lo sfondo con le informazioni sul processore, mostrando che quando il thread di sistema è stato eseguito, è stato eseguito sul primo processore.
GPUView visualizza attualmente otto colori univoci del processore e supporta fino a 32 processori univoci.
Priorità Thread
Il numero visualizzato all'inizio di ogni intervallo di esecuzione è la priorità del thread.
Interruzioni hardware o DPC
Gli interrupt hardware o le chiamate di procedura posticipata possono essere eseguiti in qualsiasi thread in qualsiasi momento. GPUView visualizza queste informazioni come tempo incrociato nell'intervallo di esecuzione. Le interruzioni dell'hardware sono mostrate in croce rossa e i DPC sono visualizzati in blu.
Nel diagramma precedente, un DPC è stato eseguito sul primo core inattivo e, poco dopo, si è verificata un'interruzione hardware nel secondo core inattivo.
Profilazione dell'esecuzione annidata
Con alcune API, GPUView mostrerà il tempo dedicato in determinate funzioni. Questa operazione è nota come esecuzione annidata nell'intervallo di esecuzione. Una parte significativa del kernel video registra gli eventi che indicano quando il thread è entrato o ha lasciato una determinata routine.
Nel diagramma precedente, la freccia più a sinistra punta al tempo di esecuzione annidato, che è blu. Il blu è un colore riservato che indica il codice del kernel video. La seconda freccia indica il tempo di esecuzione annidato, che è rosso. Il rosso è riservato come tempo di codice del kernel del driver video.
Punti di cammino nello stack
Se lo stack walking è abilitato per la traccia, GPUView li visualizza come punti appena sotto l'Intervallo di Esecuzione. Nel diagramma precedente sono presenti tre punti di Stack Walk per i due intervalli.
Tempo di non esecuzione
Se un thread viene creato o eliminato definitivamente entro il tempo del riquadro di visualizzazione, GPUView mostrerà la non esistenza tramite una linea orizzontale. Nel diagramma seguente l'ora di inizio del riquadro di visualizzazione è rappresentata dalla linea verticale a destra del nome del thread. La linea orizzontale, a cui fa riferimento la freccia rossa, tra di essa e l'area di esecuzione rappresenta l'ora in cui il thread non esiste.