Im Bereich „Befehle“ werden die von der Anwendung ausgeführten Aufrufe nach Frame und Zeichenaufruf oder nach Nutzermarkierungen gruppiert.




Aufgaben und Ablauf
In diesem Bereich können Sie folgende Vorgänge ausführen:
Betrieb | Beschreibung |
---|---|
Ergebnis anzeigen | Klicken Sie auf einen Befehl oder eine Gruppe, um die anderen Bereiche so zu aktualisieren, dass sie den Status nach dem ausgewählten Befehl oder der ausgewählten Gruppe widerspiegeln. |
Befehlshierarchie maximieren oder minimieren | Klicken Sie auf das graue Dreieck links neben einer Gruppierung oder doppelklicken Sie auf die Gruppierung, um sie zu maximieren oder zu minimieren. |
Suchen | Geben Sie oben im Bereich einen String in die Suchleiste ein und drücken Sie dann die Eingabetaste (siehe Abbildung oben). Wenn Sie das nächste Vorkommen suchen möchten, muss der Balken ausgewählt sein. Drücken Sie dann noch einmal die Eingabetaste. Klicken Sie das Kästchen Regulärer Ausdruck an, um ein Suchmuster mit regulären Ausdrücken zu verwenden. Beispiel: glClear.* entspricht sowohl dem Befehl glClear() als auch dem Befehl glClearColor() . Sie können auch nach Befehlsparameterwerten wie „buffer“ suchen: 2 , der in glBindBuffer(). verwendet wird. |
Bearbeiten | Klicken Sie mit der rechten Maustaste auf einen Befehl und wählen Sie Bearbeiten aus. Ändern Sie im Dialogfeld Bearbeiten einen oder mehrere Werte und klicken Sie auf OK. Hinweis: Dies gilt nur für Vulkan-Befehle, nicht für OpenGL-Befehle. |
Status- oder Speicherinformationen ansehen | Klicken Sie auf ein Befehlsargument, das sich auf einen Statusparameter bezieht, z. B. eine Textur‑ID. Im Bereich Status werden zusätzliche Informationen angezeigt. Klicken Sie auf eine Speicheradresse oder einen Zeiger, um den Bereich Speicher zu öffnen. Hinweis: Dies gilt nur für Vulkan-Befehle, nicht für OpenGL-Befehle. |
Befehle kopieren | Wählen Sie Elemente im Bereich aus und drücken Sie Strg+C (oder Befehlstaste+C), um Befehle mit ihren Argumentwerten zu kopieren. Sie können diese Informationen in eine Textdatei einfügen. |
Miniaturansicht vergrößern | Die Miniaturansicht wird links neben einem Anruf angezeigt, wie im folgenden Bild zu sehen ist. Bewegen Sie den Mauszeiger auf die Miniaturansicht, um sie zu vergrößern. |

OpenGL ES-Befehlshierarchie
OpenGL ES-Befehle werden in Vulkan übersetzt und die Vulkan-Befehle werden analysiert. Daher werden OpenGL ES-Befehle sowohl mit OpenGL ES- als auch mit Vulkan-Befehlen in der erweiterten Hierarchie angezeigt. Im vorherigen Beispiel sehen Sie unter RenderPass
mehrere glDrawElement
-Befehle. Die zweite Befehlshierarchie glDrawElements
wurde erweitert und zeigt OpenGL ES-Befehle und DrawIndexed an. Sie können beide Hierarchien maximieren, um die zugehörigen OpenGL ES-Befehle sowie die Vulkan-Befehle anzuzeigen, in die sie übersetzt wurden.
Da es keine direkte Beziehung zwischen OpenGL ES und Vulkan gibt, kann es zu einigen Unterschieden kommen. Ein glClear
-Befehl, der vor dem ersten glDraw*
-Befehl steht, wird beispielsweise vor einem RenderPass
angezeigt. Wenn Sie die Hierarchie von glClear
maximieren, sind keine Vulkan-Befehle vorhanden. Das liegt daran, dass das Löschen aufgeschoben und im Rahmen des Starts von Vulkan RenderPass
durchgeführt wird.
Debugging-Markierungen
Je nach App kann der Bereich Befehle eine sehr lange Liste von Befehlen in einem Frame enthalten. Zur besseren Navigation und Lesbarkeit können Sie Debug-Markierungen definieren, mit denen Aufrufe in der Baumstruktur unter einer Überschrift gruppiert werden. Das kann beispielsweise eine Gruppe mit dem Namen „Einrichtung“ oder „Welt rendern“ sein.
Wenn Debugmarkierungen aktiviert sind, klicken Sie auf den Bereich Befehle, um einen Link zu diesen Informationen aufzurufen. OpenGL ES bietet die folgenden APIs zum Gruppieren von Befehlen:
EXTENSION / VERSION | PUSH | POP |
---|---|---|
KHR_debug | glPushDebugGroupKHR() |
glPopDebugGroupKHR() |
EXT_debug_marker | String |
String |
OpenGL ES 3.2 | String |
String |
Vulkan bietet die folgenden APIs zum Gruppieren von Befehlen:
EXTENSION / VERSION | PUSH | POP |
---|---|---|
VK_EXT_debug_marker | glPushDebugGroupKHR() |
glPopDebugGroupKHR() |