Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Panel {i>Commands<i} menampilkan panggilan yang dilakukan oleh aplikasi, dikelompokkan menurut bingkai dan panggilan gambar atau berdasarkan penanda pengguna.
Gambar 1. Tampilan awal trace OpenGL atau VulkanGambar 2. Melihat rekaman aktivitas OpenGLGambar 3. Melihat rekaman aktivitas VulkanGambar 4. Menelusuri perintah di trace Vulkan
Operasi
Anda dapat melakukan operasi berikut di panel ini:
Operasi
Deskripsi
Tampilkan hasil
Klik perintah atau grup untuk memperbarui panel lainnya agar mencerminkan
status setelah perintah atau grup yang dipilih.
Luaskan atau ciutkan hierarki perintah
Klik segitiga abu-abu di sebelah kiri pengelompokan atau klik dua kali
pengelompokan untuk meluaskan atau menciutkannya.
Telusuri
Ketik string dalam kotak penelusuran di bagian atas panel, lalu tekan
Return (lihat gambar sebelumnya). Untuk menemukan kemunculan berikutnya, pastikan panel dipilih lalu tekan Return lagi.
Pilih kotak Regex untuk menggunakan pola penelusuran ekspresi reguler.
Misalnya, glClear.* cocok dengan perintah glClear()
dan glClearColor(). Anda juga dapat menelusuri parameter value perintah seperti buffer: 2, yang digunakan dalam glBindBuffer().
Edit
Klik kanan perintah, lalu pilih Edit. Dalam dialog Edit,
ubah satu atau beberapa nilai, lalu klik OK.
Catatan: Ini hanya berlaku untuk perintah Vulkan, dan tidak untuk perintah OpenGL.
Melihat informasi status atau memori
Klik argumen perintah yang merujuk pada parameter status, seperti ID tekstur. Panel State menampilkan informasi tambahan.
Klik pointer atau alamat memori untuk membuka panel Memory.
Catatan: Ini hanya berlaku untuk perintah Vulkan, dan tidak untuk perintah OpenGL.
Salin perintah
Pilih item di panel, lalu tekan Control+C (atau Command+C) untuk menyalin
perintah dengan nilai argumennya. Anda dapat menempelkan informasi ini ke
dalam file teks.
Perbesar thumbnail
Thumbnail akan muncul di sebelah kiri panggilan seperti yang ditunjukkan dalam gambar
berikut. Arahkan kursor ke thumbnail untuk memperbesarnya.
Hierarki perintah OpenGL ES
Perintah OpenGL ES diterjemahkan ke Vulkan, dan perintah Vulkan
dianalisis. Akibatnya, perintah OpenGL ES ditampilkan dengan perintah OpenGL ES dan
Vulkan yang ditampilkan dalam hierarki yang diperluas. Pada contoh sebelumnya, Anda dapat
melihat beberapa perintah glDrawElement di bagian RenderPass. Hierarki
perintah glDrawElements kedua diperluas, dan menampilkan Perintah OpenGL ES
dan DrawIndexed. Anda dapat memperluas kedua hierarki ini untuk menampilkan
perintah OpenGL ES terkait, serta perintah Vulkan yang
telah diterjemahkan.
Karena tidak ada hubungan one-to-one antara OpenGL ES dan Vulkan,
mungkin ada beberapa perbedaan. Misalnya, perintah glClear yang terjadi
sebelum perintah glDraw* pertama muncul sebelum RenderPass. Jika Anda memperluas
hierarki glClear, tidak akan ada perintah Vulkan. Hal ini karena
clear akan ditangguhkan dan dilakukan sebagai bagian dari memulai RenderPass Vulkan.
Men-debug penanda
Bergantung pada aplikasi Anda, panel Commands dapat berisi daftar
perintah yang sangat panjang dalam satu frame. Untuk navigasi dan keterbacaan yang lebih baik, Anda dapat menentukan
penanda debug yang mengelompokkan panggilan di bawah judul di hierarki. Hal ini dapat
mencakup pengelompokan, misalnya, bernama "Penyiapan" atau "Dunia Render".
Jika penanda debug diaktifkan, klik panel Commands untuk menampilkan
link ke informasi ini. OpenGL ES memiliki API berikut untuk mengelompokkan perintah:
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-27 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-07-27 UTC."],[],[],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()` |"]]