W panelu Polecenia wyświetlają się wywołania wykonane przez aplikację, pogrupowane według klatki i wywołania rysowania lub według znaczników użytkownika.
Zarządzanie
W tym panelu możesz wykonywać te działania:
| Operacja | Opis |
|---|---|
| Pokaż wynik | Kliknij polecenie lub grupę, aby zaktualizować pozostałe panele i odzwierciedlić stan po wybranym poleceniu lub grupie. |
| Rozwijanie i zwijanie hierarchii poleceń | Kliknij szary trójkąt po lewej stronie grupy lub kliknij ją dwukrotnie, aby ją rozwinąć lub zwinąć. |
| Szukaj | Wpisz ciąg znaków na pasku wyszukiwania u góry okienka, a potem naciśnij Return (patrz poprzedni obraz). Aby znaleźć kolejne wystąpienie, upewnij się, że pasek jest zaznaczony, i ponownie naciśnij Return. Zaznacz pole Wyrażenie regularne, aby użyć wzorca wyszukiwania wyrażeń regularnych. Na przykład glClear.* pasuje do poleceń glClear() i glClearColor(). Możesz też wyszukiwać wartości parametrów poleceń, np. buffer: 2, który jest używany w glBindBuffer(). |
| Edytuj | Kliknij polecenie prawym przyciskiem myszy i wybierz Edytuj. W oknie dialogowym Edytuj zmień co najmniej jedną wartość i kliknij OK. Uwaga: dotyczy to tylko poleceń Vulkan, a nie poleceń OpenGL. |
| Wyświetlanie informacji o stanie lub pamięci | Kliknij argument polecenia, który odnosi się do parametru stanu, np. identyfikator tekstury. W panelu Stan wyświetlają się dodatkowe informacje. Kliknij adres lub wskaźnik pamięci, aby otworzyć panel Pamięć. Uwaga: dotyczy to tylko poleceń Vulkan, a nie poleceń OpenGL. |
| Kopiowanie poleceń | Wybierz elementy w panelu i naciśnij Ctrl+C (lub Command+C), aby skopiować polecenia wraz z wartościami argumentów. Możesz wkleić te informacje do pliku tekstowego. |
| Powiększanie miniatury | Miniatura pojawia się po lewej stronie połączenia, jak pokazano na poniższym obrazie. Najedź kursorem na miniaturę, aby ją powiększyć. |
Hierarchia poleceń OpenGL ES
Polecenia OpenGL ES są tłumaczone na polecenia Vulkan, a te polecenia są analizowane. W efekcie polecenia OpenGL ES są wyświetlane razem z poleceniami OpenGL ES i Vulkan w rozwiniętej hierarchii. W poprzednim przykładzie w sekcji RenderPass widać kilka poleceń glDrawElement. Rozwinięto drugą hierarchię poleceńglDrawElements, która zawiera polecenia OpenGL ES i DrawIndexed. Możesz rozwinąć obie te hierarchie, aby wyświetlić powiązane polecenia OpenGL ES oraz polecenia Vulkan, na które zostały przetłumaczone.
Ze względu na brak bezpośredniego przełożenia między OpenGL ES a Vulkan mogą występować pewne różnice. Na przykład polecenie glClear, które występuje przed pierwszym poleceniem glDraw*, pojawia się przed poleceniem RenderPass. Jeśli rozwiniesz hierarchię glClear, nie zobaczysz żadnych poleceń Vulkana. Dzieje się tak, ponieważ czyszczenie jest odroczone i wykonywane w ramach uruchamiania platformy Vulkan RenderPass.
Znaczniki debugowania
W zależności od aplikacji panel Polecenia może zawierać bardzo długą listę poleceń w jednej ramce. Aby ułatwić nawigację i czytelność, możesz zdefiniować znaczniki debugowania, które grupują wywołania pod nagłówkiem w drzewie. Może to być np. grupa o nazwie „Konfiguracja” lub „Renderowanie świata”.
Jeśli znaczniki debugowania są włączone, kliknij panel Polecenia, aby wyświetlić link do tych informacji. OpenGL ES ma te interfejsy API do grupowania poleceń:
| ROZSZERZENIE / WERSJA | PUSH | [protokół] POP |
|---|---|---|
| KHR_debug | glPushDebugGroupKHR() |
glPopDebugGroupKHR() |
| EXT_debug_marker | String |
String |
| OpenGL ES 3.2 | String |
String |
Vulkan ma te interfejsy API do grupowania poleceń:
| ROZSZERZENIE / WERSJA | PUSH | [protokół] POP |
|---|---|---|
| VK_EXT_debug_marker | glPushDebugGroupKHR() |
glPopDebugGroupKHR() |