Kiểm tra trạng thái kết xuất Vulkan
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Để kiểm tra trạng thái kết xuất sau một lệnh cụ thể đã gửi, hãy nhấp vào lệnh đó trong ngăn Lệnh. Ngăn State (Trạng thái) cho phép bạn kiểm tra trạng thái kết xuất bằng các mục sau.

Hàng đợi được liên kết gần đây nhất (hàng đợi hiện được liên kết)
Nút LastBoundQueue chứa thông tin về hàng đợi được dùng cho vkQueueSubmit
, gửi lệnh được đề cập. VulkanHandle
sẽ được dùng để tìm thông tin vẽ của trạng thái kết xuất hiện tại trong LastDrawInfos
.

VulkanHandle
cho biết giá trị của VkQueue
được dùng gần đây nhất, đây thực sự là hàng đợi được liên kết hiện tại cho lệnh đã gửi được đề cập.
Thông tin về trạng thái kết xuất hiện tại được lưu trữ trong LastDrawInfos
và được lập chỉ mục theo giá trị VkQueue
.
Thông tin về lần vẽ gần đây nhất (thông tin về trạng thái kết xuất hiện tại)
Nút LastDrawInfos chứa thông tin về bản vẽ gần đây nhất cho mỗi VkQueue
và bao gồm những thông tin sau:
- Thông tin về đệm khung hình
- Hiển thị thông tin thẻ/vé
- Tập hợp mô tả liên kết
- Đỉnh và chỉ mục đệm được liên kết
- Quy trình đồ hoạ
- Thông số vẽ
Bound Framebuffer

Nút Framebuffer: cho biết thông tin về framebuffer hiện được liên kết.
Nút này sẽ được cập nhật sau mỗi lần vkCmdBeginRenderPass
thực thi trên cùng một hàng đợi.
Nút Renderpass: cho biết thông tin về đường truyền kết xuất dùng để tạo framebuffer. Xin lưu ý rằng đây không phải là đường truyền kết xuất hiện được liên kết để vẽ.
Nút ImageAttachments: liệt kê tất cả các tệp đính kèm hình ảnh (VkImageViews
) được liên kết với bộ đệm khung. Mỗi mục trong danh sách cho thấy thông tin của khung hiển thị hình ảnh.
Nút Image cho biết thông tin về hình ảnh được liên kết với khung hiển thị hình ảnh.
Bound renderpass

Nút Renderpass: cho biết thông tin về renderpass hiện đang được dùng để kết xuất. Giá trị này sẽ được cập nhật sau mỗi lần VkCmdBeginRenderPass
thực thi trên cùng một hàng đợi.
Nút AttachmentDescriptions: liệt kê tất cả VkAttachmentDescription
của renderpass hiện đang được sử dụng.
Nút SubpassDescriptions: liệt kê VkSubpassDescription
cho từng đường truyền phụ.
Nút SubpassDependencies: liệt kê VkSubpassDependency
cho từng đường chuyền phụ.
Các nhóm mã mô tả được liên kết

Nút DescriptorSets: liệt kê tất cả các nhóm mô tả hiện được liên kết. Danh sách các nhóm mô tả bị ràng buộc phản ánh trạng thái sau khi vkCmdBindDescriptorSets
cuối cùng được triển khai trên cùng một hàng đợi và thông tin nhóm mô tả ban đầu sẽ bị ghi đè hoặc thông tin mới sẽ được thêm theo các tham số của vkCmdBindDescriptorSets
đã thực thi gần đây nhất.
Bindings (Liên kết): nút này liệt kê tất cả các liên kết bộ mô tả hiện được liên kết trong bộ mô tả.
Mỗi liên kết bộ mô tả cũng liệt kê các bộ mô tả được liên kết.
Nút Layout (Bố cục): cho biết thông tin về VkDescriptorSetLayout
dùng để phân bổ tập hợp nội dung mô tả.
Quy trình đồ hoạ liên kết

Nút GraphicsPipeline
: chứa thông tin về quy trình đồ hoạ được liên kết gần đây nhất. Nút này sẽ được cập nhật sau mỗi lần VkCmdBindPipeline
thực thi trên hàng đợi hiện tại.
Bound Buffers

Nút BoundVertexBuffers liệt kê tất cả các vùng đệm đỉnh được liên kết. Đối với mỗi bộ đệm đỉnh được liên kết, thông tin về bộ đệm dự phòng sẽ xuất hiện. Danh sách này sẽ được cập nhật cho phù hợp sau mỗi lần vkCmdBindVertexBuffers
thực thi trên cùng một hàng đợi.
Nút BoundIndexBuffer
cho biết vùng đệm chỉ mục được liên kết gần đây nhất, bao gồm cả loại chỉ mục và thông tin về vùng đệm hỗ trợ.
Tham số lệnh vẽ

Nút CommandParameters: chứa các tham số cho vkCmdDraw
, vkCmdDrawIndexed
, vkCmdDrawIndirect
và vkCmdDrawIndirectIndexed
. Đối với mỗi loại lệnh vẽ, sẽ có một nút phụ tương ứng để chứa các giá trị tham số. Vì không thể sử dụng đồng thời 4 loại lệnh vẽ này, nên bạn chỉ có thể điền sẵn một trong 4 nút con tại một thời điểm. Nội dung của CommandParameters sẽ được cập nhật sau khi một trong bốn lệnh vẽ được thực thi trên cùng một hàng đợi.
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2025-07-27 UTC.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 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."]]