التحقّق من حالة عرض Vulkan
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
للتحقّق من حالة العرض بعد طلب محدّد تم إرساله، انقر على الأمر
في لوحة الأوامر. يتيح لك جزء State فحص حالة العرض باستخدام العناصر التالية.

قائمة انتظار آخر رابط (قائمة انتظار مرتبطة حاليًا)
تحتوي العقدة LastBoundQueue على معلومات قائمة الانتظار المستخدمة في
vkQueueSubmit
، والتي ترسل الأمر المعني. سيتم استخدام VulkanHandle
للعثور على معلومات الرسم لحالة العرض الحالية في LastDrawInfos
.

وتعرِض VulkanHandle
قيمة آخر عنصر VkQueue
تم استخدامه، وهي في الواقع قائمة الانتظار المرتبطة حاليًا للأمر الذي تم إرساله.
يتم تخزين معلومات حالة العرض الحالية في LastDrawInfos
وتتم فهرستها من خلال القيمة VkQueue
.
معلومات آخر رسم (معلومات حالة العرض الحالية)
تحتوي العقدة LastDrawInfos على معلومات الرسم الأخير لكل VkQueue
، وتتضمّن المعلومات التالية:
- معلومات المخزن المؤقت للإطارات
- معلومات العرض
- مجموعات الكلمات الوصفية المرتبطة
- الموارد الاحتياطية المرتبطة بالرأس والفهرس
- مسار الرسومات
- معلمات الرسم
مخزن إطارات ضيق مرتبط

العقدة Framebuffer: تعرض معلومات المخزن المؤقت للإطارات المرتبط حاليًا.
يتم تعديل هذه العقدة بعد تنفيذ كل vkCmdBeginRenderPass
في قائمة الانتظار نفسها.
عقدة Renderpass: تعرض معلومات تمرير العرض المستخدمة لإنشاء
المخزن المؤقت للإطارات. يُرجى العلم أنّ هذا الإذن ليس تصريح العرض المرتبط حاليًا بالرسم.
العقدة Imageattachments: إدراج جميع مرفقات الصور (VkImageViews
)
المرتبطة بالمخزن المؤقت للإطارات. يوضح كل عنصر بالقائمة معلومات طريقة عرض الصورة.
تُظهر العقدة الصورة معلومات الصورة المرتبطة بعرض الصورة.
ممر عرض مرتبط

عقدة Renderpass: تعرض معلومات ممر العرض المستخدمة حاليًا للعرض. ويتم تعديله بعد تنفيذ كل VkCmdBeginRenderPass
في قائمة الانتظار نفسها.
عقدة attachmentDescriptions: إدراج كل VkAttachmentDescription
لتمرير العرض الحالي قيد الاستخدام.
عقدة SubpassDescriptions: تسرد VkSubpassDescription
لكل تمريرة فرعية.
عقدة SubpassCredentialions: تدرج VkSubpassDependency
لكل ممر فرعي.
مجموعات الكلمات الوصفية المرتبطة

العقدة DescriptorSets: إدراج جميع مجموعات أدوات الوصف المرتبطة حاليًا. تعكس قائمة مجموعات الواصفات المحدّدة الحالة بعد طرح آخر vkCmdBindDescriptorSets
في قائمة الانتظار نفسها، وسيتم استبدال معلومات مجموعة الواصف الأصلية أو ستتم إضافة معلومات جديدة وفقًا لمَعلمات آخر vkCmdBindDescriptorSets
تم تنفيذها.
الارتباطات: تسرد العقدة جميع روابط الواصف المرتبطة حاليًا في مجموعة الوصف.
يسرد كل رابط واصف أيضًا الواصفات المرتبطة به.
عقدة التنسيق: تعرض معلومات VkDescriptorSetLayout
المستخدَمة لتخصيص مجموعة الواصف.
مسار الرسومات المرتبطة

عقدة GraphicsPipeline
: تحتوي على معلومات حول آخر مسار للرسومات المرتبطة. يتم تعديل هذه العقدة بعد تنفيذ كل VkCmdBindPipeline
في قائمة الانتظار الحالية.
الموارد الاحتياطية المحدودة

تسرد عقدة BoundVertexBuffers جميع المخازن المؤقتة المرتبطة. لكل مورد احتياطي مرتبط، يتم عرض معلومات المورد الاحتياطي الاحتياطي. يتم تعديل القائمة وفقًا لذلك بعد تنفيذ كل vkCmdBindVertexBuffers
في قائمة الانتظار نفسها.
تعرض العقدة BoundIndexBuffer
آخر مخزن مؤقت للفهرس المرتبط، بما في ذلك نوع الفهرس ومعلومات المخزن المؤقت الاحتياطي.
رسم مَعلمات الأوامر

العقدة CommandParameters: تحتوي على المعلمات إلى vkCmdDraw
وvkCmdDrawIndexed
وvkCmdDrawIndirect
وvkCmdDrawIndirectIndexed
. لكل نوع من أوامر الرسم، هناك عقدة فرعية مقابلة تحتوي على قيم المعلمات. نظرًا لأنه لا يمكن استخدام هذه الأنواع الأربعة من أوامر الرسم في نفس الوقت، يمكن تعبئة عقدة فرعية واحدة فقط من العقد الفرعية الأربع في كل مرة. يتم تحديث محتوى CommandParameters بعد تنفيذ أي من أوامر الرسم الأربعة التي يتم تنفيذها في قائمة الانتظار نفسها.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],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."]]