Riquadro dei comandi

Il riquadro Comandi mostra le chiamate effettuate dall'applicazione, raggruppate per frame e disegna chiamate o per indicatori utente.

Visualizzazione iniziale di una traccia OpenGL o Vulkan
Figura 1. Visualizzazione iniziale di una traccia OpenGL o Vulkan
Visualizzazione di una traccia OpenGL
Figura 2. Visualizzazione di una traccia OpenGL
Visualizzazione di una traccia Vulkan
Figura 3. Visualizzazione di una traccia Vulkan
Visualizzazione di una traccia Vulkan
Figura 4. Ricerca di un comando in una traccia Vulkan

Fasi operative

In questo riquadro puoi eseguire le seguenti operazioni:

Funzionamento Descrizione
Mostra risultato Fai clic su un comando o un gruppo per aggiornare gli altri riquadri in modo che riflettano lo stato dopo il comando o il gruppo selezionato.
Espandere o comprimere la gerarchia di comandi Fai clic sul triangolo grigio a sinistra di un raggruppamento oppure fai doppio clic sul raggruppamento per espanderlo o comprimerlo.
Cerca Digita una stringa nella barra di ricerca che si trova nella parte superiore del riquadro, quindi premi Invio (vedi l'immagine precedente). Per trovare l'occorrenza successiva, assicurati che la barra sia selezionata e premi di nuovo Invio.

Seleziona la casella Espressione regolare per utilizzare un pattern di ricerca basato su espressioni regolari. Ad esempio, glClear.* corrisponde a entrambi i comandi glClear() e glClearColor(). Puoi anche cercare i valori dei parametri di comando, come il buffer 2, utilizzato in glBindBuffer().
Modifica Fai clic con il pulsante destro del mouse su un comando e seleziona Modifica. Nella finestra di dialogo Modifica, modifica uno o più valori e fai clic su OK. Nota: è valido solo per i comandi Vulkan e non per i comandi OpenGL.
Visualizza informazioni su stato o memoria Fai clic su un argomento del comando che fa riferimento a un parametro di stato, come un ID texture. Il riquadro Stato mostra ulteriori informazioni. Fai clic su un indirizzo o un puntatore in memoria per aprire il riquadro Memoria. Nota: è valido solo per i comandi Vulkan e non per i comandi OpenGL.
Copia comandi Seleziona gli elementi nel riquadro e premi Ctrl + C (o Comando + C) per copiare i comandi con i relativi valori di argomento. Puoi incollare queste informazioni in un file di testo.
Ingrandisci miniatura La miniatura viene visualizzata a sinistra di una chiamata, come mostrato nell'immagine seguente. Passa il cursore sulla miniatura per ingrandirla.
DIDASCALIA

Gerarchia di comandi OpenGL ES

I comandi OpenGL ES vengono tradotti in Vulkan e i comandi Vulkan vengono analizzati. Di conseguenza, i comandi OpenGL ES vengono mostrati con i comandi OpenGL ES e Vulkan nella gerarchia espansa. Nell'esempio precedente, puoi vedere più comandi glDrawElement in RenderPass. La seconda gerarchia di comandi glDrawElements è stata espansa e mostra i comandi OpenGL ES e DrawIndexed. Puoi espandere entrambe le gerarchie per visualizzare i comandi OpenGL ES correlati e i comandi Vulkan in cui sono stati tradotti.

Poiché non esiste una relazione one-to-one tra OpenGL ES e Vulkan, potrebbero esserci alcune differenze. Ad esempio, un comando glClear che si verifica prima che il primo comando glDraw* compaia prima di RenderPass. Se espandi la gerarchia di glClear, non ci saranno comandi Vulkan. Questo perché l'autorizzazione verrà differita e completata nell'ambito dell'avvio di Vulkan RenderPass.

Indicatori di debug

A seconda dell'applicazione, il riquadro Comandi può contenere un lungo elenco di comandi all'interno di un frame. Per migliorare la navigazione e la leggibilità, puoi definire indicatori di debug che raggruppano le chiamate sotto un'intestazione dell'albero. Potrebbe essere incluso un raggruppamento, ad esempio, denominato "Configurazione" o "Render World".

Se gli indicatori di debug sono attivati, fai clic sul riquadro Comandi per visualizzare un link a queste informazioni. OpenGL ES dispone delle seguenti API per raggruppare i comandi:

ESTENSIONE / VERSIONE INVIA POP
Debug KHR glPushDebugGroupKHR() glPopDebugGroupKHR()
Indicatore_debug_EXT String String
OpenGL ES 3.2 String String

Vulkan dispone delle seguenti API per raggruppare i comandi:

ESTENSIONE / VERSIONE INVIA POP
Indicatore_debug_VK_EXT glPushDebugGroupKHR() glPopDebugGroupKHR()