Coda di contesto della CPU

La schermata ingrandita seguente mostra la coda hardware GPU insieme alle code cpu di contesto di quattro processi.

Screenshot della coda hardware della GPU e delle code CPU di contesto per quattro processi.

L'associazione tra gli elementi della coda cpu di contesto e gli elementi nella coda hardware GPU è una delle relazioni più fondamentali in GPUView. Nel diagramma precedente, la freccia rossa più a sinistra punta alla chiave colore della coda CPU di contesto. La freccia rossa inferiore punta a un elemento di dati corrispondente nella coda della CPU di contesto e la freccia rossa superiore punta a un pacchetto DMA nella coda hardware della GPU proveniente dalla coda CPU di contesto del processo Dwm.exe. In qualsiasi momento, è possibile vedere quale applicazione (processo) ha funzionato sulla GPU esaminando il colore dei blocchi nella coda hardware GPU.

Poiché Windows virtualizza l'hardware video, il lavoro eseguito nella coda della CPU di contesto rappresenta il carico di lavoro grafico accodato all'hardware, ma non viene effettivamente elaborato dall'hardware. Il diagramma seguente può essere utile per visualizzare la relazione tra la coda cpu di contesto e la coda hardware GPU.

Diagramma che mostra la relazione tra coda CPU di contesto e coda hardware GPU.

In questo caso, l'applicazione ha inviato il lavoro per la GPU al punto della freccia rossa più a sinistra. Già presenti nella coda erano altri due elementi di lavoro, indicati dalle frecce blu chiaro più a sinistra. Osservando sopra nella coda hardware GPU, si nota che alcuni altri processi hanno eseguito lavori sulla GPU, e solo più tardi si vedono finalmente i primi due elementi di lavoro dell'applicazione nella coda hardware GPU (frecce blu chiaro). Infine, l'elemento di lavoro evidenziato (Pacchetto di Coda) entra nella Coda Hardware della GPU (indicata dalla freccia nera) e poco dopo viene portato a termine (due frecce gialle). Subito dopo, l'applicazione vede finalmente il lavoro come fatto (freccia rossa più a destra). L'elemento di lavoro (pacchetto di coda) ha impiegato solo 1,5 millisecondi per l'esecuzione sull'hardware, ma ha dovuto attendere il suo turno su questa macchina molto occupata. All'applicazione ci sono voluti circa 28 millisecondi dal momento dell'invio al momento del completamento.

Dettagli della coda GPU di contesto

Il layout della coda cpu di contesto è simile al layout della coda hardware GPU.

Screenshot che mostra il layout della coda di contesto della GPU.

Chiave colore

Il rettangolo all'estrema sinistra mostra la chiave di colore per tutti gli elementi di lavoro (pacchetti di accodamento) nella coda della CPU di contesto. Questa chiave di colore consente di identificare la posizione in cui la coda hardware GPU sta trascorrendo il tempo.

Area coda di contesto

L'area grigia indica l'Area di Coda del Contesto.

Testo coda CPU contesto

Il testo sopra l'area coda di contesto fornisce informazioni dettagliate sul lavoro eseguito nel contesto e sul lavoro associato nella coda hardware GPU. Il primo numero è il conteggio degli elementi effettivamente eseguiti nella coda CPU di contesto durante il periodo specificato. Si noti che è un conteggio del numero di elementi nella riga inferiore della coda CPU di contesto. Successivamente, la quantità di tempo che questi elementi di lavoro (Queue Packets) hanno trascorso in esecuzione nella coda hardware GPU e la percentuale associata del Viewport. Di seguito è riportato lo stesso calcolo per gli elementi della coda cpu di contesto.

Elementi della coda CPU di contesto

I rettangoli a tinta unita nella coda CPU di contesto rappresentano pacchetti di coda standard. Questo è il lavoro per la GPU. I rettangoli tratteggiati rappresentano pacchetti attuali e i rettangoli con linee diagonali rappresentano i Pacchetti Token Attuali.

Capovolgi superficie

Nella coda della CPU di contesto associata al processo di Dwm.exe, GPUView fornisce l'indirizzo Flip Surface nei rettangoli Present Packet .In the Context CPU Queue associated with the Dwm.exe process, GPUView fornisce l'indirizzo Flip Surface nei rettangoli Present Packet. Il primo numero è il Flip Queue. Il secondo numero è l'indirizzo della superficie che verrà invertita. Questo numero è in genere disponibile nel pacchetto DMA completato poco prima dell'emissione del pacchetto presente.

Nota sulle code

Le code (Queue), come visto da GPUView, sono pile di lavoro messe in coda e in attesa di esecuzione. Nella visualizzazione, l'elemento nella parte inferiore dello stack (riga inferiore) è l'elemento effettivamente in fase di lavoro in quel momento specifico. L'elemento successivo in attesa di essere lavorato viene impilato sopra quello in esecuzione. Un punto di transizione è il momento in cui un elemento di lavoro termina e quello in attesa ora diventa quello successivo su cui si è lavorato. Questi punti di transizione conferiscono un aspetto a gradini alla coda man mano che il lavoro viene svolto e i pacchetti vengono completati. Gli elementi più recenti aggiunti alla coda vengono sempre posizionati in alto.