Okienko poleceń

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.

Widok początkowy śladu OpenGL lub Vulkan
Rysunek 1. Widok początkowy śladu OpenGL lub Vulkan
Wyświetlanie śladu OpenGL
Ilustracja 2. Wyświetlanie śladu OpenGL
Wyświetlanie logu czasu Vulkana
Rysunek 3. Wyświetlanie śladu Vulkana
Wyświetlanie logu czasu Vulkana
Rysunek 4. Wyszukiwanie polecenia w śladzie Vulkan

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()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ć.
NAPIS

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()