แผงคำสั่ง

แผงคำสั่งจะแสดงการเรียกที่แอปพลิเคชันทำ โดยจัดกลุ่มตามเฟรมและการเรียกวาด หรือตามเครื่องหมายของผู้ใช้

มุมมองเริ่มต้นของการติดตาม OpenGL หรือ Vulkan
รูปที่ 1 มุมมองเริ่มต้นของการติดตาม OpenGL หรือ Vulkan
การดูการติดตาม OpenGL
รูปที่ 2 การดูการติดตาม OpenGL
การดูการติดตาม Vulkan
รูปที่ 3 การดูการติดตาม Vulkan
การดูการติดตาม Vulkan
รูปที่ 4 ค้นหาคำสั่งในร่องรอย Vulkan

การทำงาน

คุณสามารถดำเนินการต่อไปนี้ในบานหน้านี้

การดำเนินการ คำอธิบาย
แสดงผลลัพธ์ คลิกคำสั่งหรือกลุ่มเพื่ออัปเดตบานหน้าต่างอื่นๆ ให้แสดง สถานะหลังจากคำสั่งหรือกลุ่มที่เลือก
ขยายหรือยุบลำดับชั้นของคำสั่ง คลิกสามเหลี่ยมสีเทาทางด้านซ้ายของการจัดกลุ่ม หรือดับเบิลคลิกการจัดกลุ่มเพื่อขยายหรือยุบ
ค้นหา พิมพ์สตริงในแถบค้นหาที่ด้านบนของแผง แล้วกด Return (ดูรูปภาพก่อนหน้า) หากต้องการค้นหาเหตุการณ์ถัดไป ให้ตรวจสอบว่า เลือกแถบแล้วและกดกลับอีกครั้ง

เลือกช่องนิพจน์ทั่วไปเพื่อใช้รูปแบบการค้นหานิพจน์ทั่วไป เช่น glClear.* จะตรงกับทั้งคำสั่ง glClear() และ glClearColor() คุณยังค้นหาค่าพารามิเตอร์คำสั่ง เช่น buffer: 2 ซึ่งใช้ใน glBindBuffer(). ได้ด้วย
แก้ไข คลิกขวาที่คำสั่ง แล้วเลือกแก้ไข ในกล่องโต้ตอบแก้ไข ให้เปลี่ยนค่าอย่างน้อย 1 ค่า แล้วคลิกตกลง หมายเหตุ: ใช้ได้กับคำสั่ง Vulkan เท่านั้น และใช้กับคำสั่ง OpenGL ไม่ได้
ดูข้อมูลสถานะหรือหน่วยความจำ คลิกอาร์กิวเมนต์คำสั่งที่อ้างอิงถึงพารามิเตอร์สถานะ เช่น รหัสพื้นผิว บานหน้าต่างสถานะจะแสดงข้อมูลเพิ่มเติม คลิกที่อยู่หรือพอยน์เตอร์ของหน่วยความจำเพื่อเปิดแผงหน่วยความจำ หมายเหตุ: ใช้ได้กับคำสั่ง Vulkan เท่านั้น และใช้กับคำสั่ง OpenGL ไม่ได้
คัดลอกคำสั่ง เลือกรายการในแผง แล้วกด Control+C (หรือ Command+C) เพื่อคัดลอก คำสั่งพร้อมค่าอาร์กิวเมนต์ คุณวางข้อมูลนี้ลงใน ไฟล์ข้อความได้
ขยายภาพปก ภาพปกจะปรากฏทางด้านซ้ายของแฮงเอาท์ตามที่แสดงในรูปภาพต่อไปนี้ วางเคอร์เซอร์เหนือภาพขนาดย่อเพื่อขยาย
คำบรรยาย

ลำดับชั้นคำสั่ง OpenGL ES

ระบบจะแปลคำสั่ง OpenGL ES เป็น Vulkan และวิเคราะห์คำสั่ง Vulkan ด้วยเหตุนี้ คำสั่ง OpenGL ES จึงแสดงพร้อมกับคำสั่ง OpenGL ES และ Vulkan ในลำดับชั้นที่ขยาย ในตัวอย่างก่อนหน้า คุณจะเห็นคำสั่ง glDrawElement หลายรายการภายใต้ RenderPass มีการขยายลำดับชั้นของคำสั่งที่สอง glDrawElements และแสดงคำสั่ง OpenGL ES และ DrawIndexed คุณขยายทั้ง 2 ลำดับชั้นนี้เพื่อแสดงคำสั่ง OpenGL ES ที่เกี่ยวข้อง รวมถึงคำสั่ง Vulkan ที่แปลเป็นคำสั่งเหล่านั้นได้

เนื่องจาก OpenGL ES และ Vulkan ไม่ได้มีความสัมพันธ์แบบหนึ่งต่อหนึ่ง จึงอาจมีความแตกต่างกันบ้าง เช่น คำสั่ง glClear ที่เกิดขึ้น ก่อนคำสั่ง glDraw* แรกจะปรากฏก่อน RenderPass หากคุณขยาย ลำดับชั้นของ glClear จะไม่มีคำสั่ง Vulkan เนื่องจากระบบจะเลื่อนการล้างข้อมูลและดำเนินการเป็นส่วนหนึ่งของการเริ่มต้น Vulkan RenderPass

เครื่องหมายการแก้ไขข้อบกพร่อง

แผงคำสั่งอาจมีรายการคำสั่งยาวมากภายในเฟรมเดียว ทั้งนี้ขึ้นอยู่กับแอปของคุณ คุณสามารถกำหนดเครื่องหมายแก้ไขข้อบกพร่องที่จัดกลุ่มการเรียกไว้ด้วยกันภายใต้ส่วนหัวในแผนภูมิเพื่อการไปยังส่วนต่างๆ และความสามารถในการอ่านที่ดีขึ้น ซึ่งอาจรวมถึงการจัดกลุ่ม เช่น ชื่อ "การตั้งค่า" หรือ "Render World"

หากเปิดใช้เครื่องหมายการแก้ไขข้อบกพร่อง ให้คลิกบานหน้าต่างคำสั่งเพื่อแสดง ลิงก์ไปยังข้อมูลนี้ OpenGL ES มี API ต่อไปนี้เพื่อจัดกลุ่มคำสั่ง

ส่วนขยาย / เวอร์ชัน PUSH POP
KHR_debug glPushDebugGroupKHR() glPopDebugGroupKHR()
EXT_debug_marker String String
OpenGL ES 3.2 String String

Vulkan มี API ต่อไปนี้เพื่อจัดกลุ่มคำสั่ง

ส่วนขยาย / เวอร์ชัน PUSH POP
VK_EXT_debug_marker glPushDebugGroupKHR() glPopDebugGroupKHR()