تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
يعرض جزء الأوامر الاستدعاءات التي أجراها التطبيق، مجمّعة حسب الإطار ورسم استدعاء أو حسب علامات المستخدم.
الشكل 1. العرض الأولي لتتبُّع OpenGL أو Vulkanالشكل 2. عرض تتبُّع OpenGLالشكل 3. عرض تتبع Vulkanالشكل 4. البحث عن أمر في تتبع Vulkan
العمليات
يمكنك إجراء العمليات التالية في هذا الجزء:
العملية
الوصف
عرض النتيجة
انقر على أمر أو مجموعة لتعديل الأجزاء الأخرى لتعكس الحالة بعد الأمر أو المجموعة المحددة.
توسيع تدرج الأوامر أو تصغيره
انقر على المثلث الرمادي على يمين المجموعة، أو انقر مرّتين على المجموعة لتوسيعها أو تصغيرها.
بحث
اكتب سلسلة في شريط البحث أعلى اللوحة، ثم اضغط على Return (اطّلِع على الصورة السابقة). للعثور على موضع الورود التالي، تأكّد من اختيار الشريط واضغط على Return مرة أخرى.
حدِّد مربع التعبير العادي لاستخدام نمط بحث بالتعبير العادي.
على سبيل المثال، تتطابق السمة glClear.* مع كلا الأمرَين glClear() وglClearColor(). يمكنك أيضًا البحث عن قيم مَعلمات الأوامر، مثلاً المخزن المؤقت: 2 الذي يُستخدم في glBindBuffer()..
تعديل
انقر بزر الماوس الأيمن على أحد الأوامر واختر تعديل. في مربّع الحوار تعديل،
غيِّر قيمة واحدة أو أكثر وانقر على حسنًا.
ملاحظة: لا ينطبق هذا إلا على أوامر Vulkan، وليس لأوامر OpenGL.
عرض معلومات الحالة أو الذاكرة
انقر على وسيطة أوامر تشير إلى معلَمة حالة، مثل
معرّف بنية. يعرض جزء State معلومات إضافية.
انقر على عنوان الذكريات أو المؤشر لفتح جزء الذاكرة.
ملاحظة: لا ينطبق هذا إلا على أوامر Vulkan، وليس لأوامر OpenGL.
نسخ الأوامر
اختَر العناصر في الجزء واضغط على Control+C (أو Command+C) لنسخ الأوامر مع قيم الوسيطة الخاصة بها. يمكنك لصق هذه المعلومات في
ملف نصي.
تكبير الصورة المصغّرة
تظهر الصورة المصغّرة على يمين المكالمة كما هو موضح في الصورة التالية. مرِّر مؤشر الماوس فوق الصورة المصغّرة لتكبيرها.
التسلسل الهرمي لأوامر OpenGL ES
تتم ترجمة أوامر OpenGL ES إلى Vulkan، ويتم تحليل أوامر Vulkan. ونتيجةً لذلك، يتم عرض أوامر OpenGL ES مع كل من أوامر OpenGL ES وVulkan المعروضة في التدرّج الهرمي الموسّع. في المثال السابق، يمكنك الاطّلاع على عدة أوامر glDrawElement ضمن RenderPass. تم توسيع العرض الهرمي الثاني لأوامر glDrawElements، ويعرض أوامر OpenGL ES وDrawIndexed. ويمكنك توسيع هذين التسلسلين الهرميين لعرض أوامر OpenGL ES ذات الصلة، بالإضافة إلى أوامر Vulkan التي تمت ترجمتها
إليها.
نظرًا لعدم وجود علاقة فردية بين OpenGL ES وVulkan،
قد تكون هناك بعض الاختلافات. على سبيل المثال، هو أمر glClear الذي يحدث
قبل ظهور الأمر glDraw* الأول قبل RenderPass. في حال توسيع التسلسل الهرمي glClear، لن تظهر لك أوامر Vulkan. ويرجع ذلك إلى أنّه سيتم تأجيل عملية المحو
وتنفيذها كجزء من بدء RenderPass Vulkan.
علامات تصحيح الأخطاء
استنادًا إلى تطبيقك، يمكن أن يحتوي جزء الأوامر على قائمة طويلة جدًا من الأوامر ضمن إطار واحد. لتحسين التنقل وتسهيل القراءة، يمكنك تحديد علامات تصحيح الأخطاء التي تجمع المكالمات معًا ضمن عنوان في الشجرة. قد يتضمن ذلك مجموعة، على سبيل المثال، تسمى "Setup" أو "Render World".
في حال تفعيل علامات تصحيح الأخطاء، انقر على جزء الأوامر لإظهار رابط يؤدي إلى هذه المعلومات. يحتوي OpenGL ES على واجهات برمجة التطبيقات التالية لتجميع الأوامر:
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# Commands pane\n\nThe Commands pane displays the calls made by the application, grouped by frame and draw call or by user markers.\n**Figure 1.**Initial View of either an OpenGL or Vulkan trace **Figure 2.**Viewing an OpenGL trace **Figure 3.**Viewing a Vulkan trace **Figure 4.**Searching for a command in a Vulkan trace\n\nOperations\n----------\n\nYou can perform the following operations in this pane:\n\n| Operation | Description |\n|------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Show result | Click a command or group to update the other panes to reflect the state after the selected command or group. |\n| Expand or collapse the command hierarchy | Click the gray triangle to the left of a grouping or double-click the grouping to expand or collapse it. |\n| Search | Type a string in the search bar at the top of the pane, and then press **Return** (see the preceding image). To find the next occurrence, make sure the bar is selected and press **Return** again. Select the **Regex** box to use a regular expression search pattern. For example, `glClear.*` matches both commands `glClear()` and `glClearColor()`. You can also search for command parameter values such as buffer: `2`, which is used in `glBindBuffer().` |\n| Edit | Right-click a command and select **Edit** . In the **Edit** dialog, change one or more values and click **OK**. Note: This is only valid for Vulkan commands, and not for OpenGL commands. |\n| View state or memory information | Click a command argument that refers to a state parameter, such as a texture ID. The **State** pane displays additional information. Click a memory address or pointer to open the **Memory** pane. Note: This is only valid for Vulkan commands, and not for OpenGL commands. |\n| Copy commands | Select items in the pane and press Control+C (or Command+C) to copy commands with their argument values. You can paste this information into a text file. |\n| Magnify thumbnail | The thumbnail appears to the left of a call as shown in the following image. Hover the cursor over the thumbnail to enlarge it. |\n\nOpenGL ES command hierarchy\n---------------------------\n\nOpenGL ES commands are translated to Vulkan, and the Vulkan commands are\nanalyzed. As a result, OpenGL ES commands are shown with both OpenGL ES and\nVulkan commands shown in the expanded hierarchy. In the preceding example, you can\nsee multiple `glDrawElement` commands under the `RenderPass`. The second\n`glDrawElements` command hierarchy was expanded, and shows **OpenGL ES Commands**\nand **DrawIndexed**. You can expand both of these hierarchies to show the\nrelated OpenGL ES commands, as well as the Vulkan commands that they were translated\ninto.\n\nBecause there isn't a one-to-one relationship between OpenGL ES and Vulkan,\nthere may be some differences. For example, a `glClear` command that occurs\nbefore the first `glDraw*` command appears before a `RenderPass`. If you expand\nthe hierarchy of the `glClear`, there will be no Vulkan commands. That is because\nthe clear will be deferred and done as part of starting the Vulkan `RenderPass`.\n\nDebug markers\n-------------\n\nDepending on your app, the **Commands** pane can contain a very long list of\ncommands within one frame. For better navigation and readability, you can define\ndebug markers that group calls together under a heading in the tree. This could\ninclude a grouping, for example, named \"Setup\" or \"Render World.\"\n\nIf debug markers are enabled, click the **Commands** pane to reveal a\nlink to this information. OpenGL ES has the following APIs to group commands:\n\n| EXTENSION / VERSION | PUSH | POP |\n|-----------------------------------------------------------------------------------------------|-------------------------|------------------------|\n| [KHR_debug](https://www.khronos.org/registry/gles/extensions/KHR/KHR_debug.txt) | `glPushDebugGroupKHR()` | `glPopDebugGroupKHR()` |\n| [EXT_debug_marker](https://www.khronos.org/registry/gles/extensions/EXT/EXT_debug_marker.txt) | `String` | `String` |\n| [OpenGL ES 3.2](https://www.khronos.org/opengles/sdk/docs/man32/html/glPopDebugGroup.xhtml) | `String` | `String` |\n\nVulkan has the following APIs to group commands:\n\n| EXTENSION / VERSION | PUSH | POP |\n|-------------------------------------------------------------------------------------------------------------------------------|-------------------------|------------------------|\n| [VK_EXT_debug_marker](https://github.com/KhronosGroup/Vulkan-Docs/blob/1.0/doc/specs/vulkan/chapters/VK_EXT_debug_marker.txt) | `glPushDebugGroupKHR()` | `glPopDebugGroupKHR()` |"]]