Sprawdzanie stanu renderowania Vulkan
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Aby sprawdzić stan renderowania po przesłaniu konkretnego polecenia, kliknij polecenie w panelu Polecenia. Panel Stan umożliwia sprawdzenie stanu renderowania za pomocą tych elementów:

Ostatnia powiązana kolejka (obecnie powiązana kolejka)
Węzeł LastBoundQueue zawiera informacje o kolejce używanej przez vkQueueSubmit
, która przesyła dane polecenie. Wartość VulkanHandle
będzie używana do wyszukiwania informacji o rysowaniu bieżącego stanu renderowania w LastDrawInfos
.

Symbol VulkanHandle
pokazuje wartość ostatnio użytego VkQueue
, czyli aktualnie powiązanej kolejki dla przesłanego polecenia.
Informacje o bieżącym stanie renderowania są przechowywane w LastDrawInfos
i indeksowane według wartości VkQueue
.
Informacje o ostatnim rysowaniu (informacje o bieżącym stanie renderowania)
Węzeł LastDrawInfos zawiera informacje o ostatnim losowaniu dla każdego VkQueue
i obejmuje te informacje:
- Informacje o buforze ramki
- Renderowanie informacji o karcie
- Powiązane zestawy deskryptorów
- Powiązane bufory wierzchołków i indeksów
- Potok graficzny
- Parametry rysowania
Bound Framebuffer

Węzeł Framebuffer: wyświetla informacje o aktualnie powiązanym buforze ramki.
Ten węzeł jest aktualizowany po każdym wykonaniu funkcji vkCmdBeginRenderPass
w tej samej kolejce.
Węzeł Renderpass: wyświetla informacje o przekazywaniu renderowania używanym do tworzenia bufora ramki. Pamiętaj, że nie jest to obecnie powiązany z rysowaniem etap renderowania.
Węzeł ImageAttachments: zawiera listę wszystkich załączników obrazów (VkImageViews
) powiązanych z buforem ramki. Każdy element listy zawiera informacje o widoku obrazu.
Węzeł Obraz zawiera informacje o obrazie powiązanym z widokiem obrazu.
Bound renderpass

Węzeł Renderpass: wyświetla informacje o obecnie używanym do renderowania procesie renderowania. Jest aktualizowany po każdym wykonaniu funkcji VkCmdBeginRenderPass
w tej samej kolejce.
Węzeł AttachmentDescriptions: zawiera listę wszystkich VkAttachmentDescription
używanych w bieżącym renderpassie.
Węzeł SubpassDescriptions: zawiera listę VkSubpassDescription
dla każdego podetapu.
Węzeł SubpassDependencies: zawiera listę VkSubpassDependency
dla każdego podetapu.
Zestawy powiązanych deskryptorów

Węzeł DescriptorSets: zawiera listę wszystkich obecnie powiązanych zestawów deskryptorów. Lista ograniczonych zestawów deskryptorów odzwierciedla stan po wdrożeniu ostatniego elementu vkCmdBindDescriptorSets
w tej samej kolejce. Informacje o pierwotnym zestawie deskryptorów zostaną zastąpione lub dodane zgodnie z parametrami ostatniego wykonanego elementu vkCmdBindDescriptorSets
.
Wiązania: węzeł zawiera listę wszystkich obecnie powiązanych wiązań deskryptora w zestawie deskryptorów.
Każde powiązanie deskryptora zawiera też listę powiązanych deskryptorów.
Węzeł Layout: zawiera informacje o VkDescriptorSetLayout
używanym do przydzielania zestawu deskryptorów.
Powiązany potok graficzny

GraphicsPipeline
node: zawiera informacje o ostatnim powiązanym potoku graficznym. Ten węzeł jest aktualizowany po każdym wykonaniu funkcji VkCmdBindPipeline
w bieżącej kolejce.
Bound Buffers

Węzeł BoundVertexBuffers zawiera listę wszystkich powiązanych buforów wierzchołków. W przypadku każdego powiązanego bufora wierzchołków wyświetla informacje o buforze zapasowym. Lista jest odpowiednio aktualizowana po każdym wykonaniu funkcji vkCmdBindVertexBuffers
w tej samej kolejce.
Węzeł BoundIndexBuffer
pokazuje ostatni powiązany bufor indeksu, w tym typ indeksu i informacje o buforze zapasowym.
Parametry polecenia rysowania

Węzeł CommandParameters: zawiera parametry dla vkCmdDraw
, vkCmdDrawIndexed
, vkCmdDrawIndirect
i vkCmdDrawIndirectIndexed
. Dla każdego typu polecenia rysowania istnieje odpowiedni węzeł podrzędny, który zawiera wartości parametrów. Ponieważ tych 4 rodzajów poleceń rysowania nie można używać jednocześnie, w danym momencie można wypełnić tylko jeden z 4 węzłów podrzędnych. Zawartość elementu CommandParameters jest aktualizowana po wykonaniu w tej samej kolejce jednego z 4 poleceń rysowania.
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-27 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-07-27 UTC."],[],[],null,["# Check Vulkan render state\n\nTo check the render state after a specific submitted command, click the command\nin the [**Commands** pane](/agi/refdocs/commands-pane). The **State** pane lets\nyou examine the render state using the following items.\n\nLast bound queue (currently bound queue)\n----------------------------------------\n\nThe **LastBoundQueue** node contains the information of the queue used for the\n`vkQueueSubmit`, which submits the command in question. The `VulkanHandle` will\nbe used to find the drawing information of the current render state in\n`LastDrawInfos`.\n\n1. The `VulkanHandle` shows the value of the last used `VkQueue`, which is\n actually the currently bound queue for the submitted command in question.\n\n2. The information of the current render state is stored in `LastDrawInfos`,\n and indexed by the `VkQueue` value.\n\nLast draw infos (current render state info)\n-------------------------------------------\n\nThe **LastDrawInfos** node contains the information of the last drawing for each\n`VkQueue`, and includes the following information:\n\n- Framebuffer information\n- Render pass information\n- Bound descriptor sets\n- Bound vertex and index buffers\n- Graphics pipeline\n- Drawing parameters\n\n**Bound Framebuffer**\n\n- **Framebuffer** node: shows the info of the currently bound framebuffer.\n This node gets updated after each `vkCmdBeginRenderPass` executes on the\n same queue.\n\n- **Renderpass** node: shows the info of the render pass used to create the\n framebuffer. Note that this is not the render pass currently bound for\n drawing.\n\n- **ImageAttachments** node: lists all the image attachments (`VkImageViews`)\n bound to the framebuffer. Each item of the list shows the info of the image\n view.\n\n- **Image** node shows the info of the image bound to the image view.\n\n**Bound renderpass**\n\n- **Renderpass** node: shows the info of the renderpass currently used for rendering. It gets updated after each `VkCmdBeginRenderPass` executes on the same queue.\n\n- **AttachmentDescriptions** node: lists all the `VkAttachmentDescription` of the current renderpass in use.\n\n- **SubpassDescriptions** node: lists the `VkSubpassDescription` for each subpass.\n\n- **SubpassDependencies** node: lists the `VkSubpassDependency` for each subpass.\n\n**Bound descriptor sets**\n\n- **DescriptorSets** node: lists all the currently bound descriptor sets. The list of bounded descriptor sets reflect the state after the last `vkCmdBindDescriptorSets` being rolled out on the same queue, and the original descriptor set info will be overwritten or new info will be added according to the parameters of the last executed `vkCmdBindDescriptorSets`.\n\n- **Bindings**: node lists all the currently bound descriptor bindings in the\n descriptor set.\n\n Each descriptor binding also lists its bound descriptors.\n- **Layout** node: shows the info of the `VkDescriptorSetLayout` used to allocate the descriptor set.\n\n**Bound graphics pipeline**\n\n`GraphicsPipeline` node: contains the info about the last bound graphics pipeline. This node gets updated after each `VkCmdBindPipeline` executes on the current queue.\n\n**Bound Buffers**\n\n- **BoundVertexBuffers** node lists all the bound vertex buffers. For each bound vertex buffer, it shows the info of the backing buffer. The list gets updated accordingly after each `vkCmdBindVertexBuffers` executes on the same queue.\n\n- `BoundIndexBuffer` node shows the last bound index buffer, including the index type and the info of the backing buffer.\n\n**Draw Command Parameters**\n\n**CommandParameters** node: contains the parameters to `vkCmdDraw`, `vkCmdDrawIndexed`, `vkCmdDrawIndirect` and `vkCmdDrawIndirectIndexed`. For each type of drawing command, there is a corresponding sub-node to contains the parameter values. As these four types of drawining commands cannot be used at the same time, only one of the four sub-nodes can be populated at a time. The content of **CommandParameters** gets updated after any one of the four drawining commands being executed on the same queue."]]