Il riquadro Comandi mostra le chiamate effettuate dall'applicazione, raggruppate per frame e disegna chiamate o per indicatori utente.
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. |
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() |