โหมดกราฟิกเร่งของหมึกกระดองจะใช้ทรัพยากรจริงของเครื่องโฮสต์ หน่วยประมวลผลกราฟิก (GPU) สำหรับการแสดงภาพโดยการส่งคำสั่งการแสดงผลของผู้เข้าร่วม ไปยังเครื่องโฮสต์ โดยเรียกใช้คำสั่งการแสดงผลในเครื่องโฮสต์ และส่งผลลัพธ์ที่แสดงไปให้ผู้เข้าร่วม
อุปกรณ์หมึกกระดองที่ใช้ Android 11 ขึ้นไป จะตรวจหาและใช้กราฟิกแบบเร่ง หากเครื่องโฮสต์ไม่รองรับ กราฟิกแบบเร่งหรือเวอร์ชัน Android คือ Android 10 หรือต่ำกว่า การแสดงผลฝั่งผู้มาเยือน (เช่น UI และการเล่นวิดีโอ) ในอุปกรณ์ Cuttlefish จะได้รับการจัดการโดย SwiftShader SwiftShader เป็นการใช้งานซอฟต์แวร์ของ API ของ OpenGL และ Vulkan เพราะ SwiftShader เป็นการติดตั้งใช้งานซอฟต์แวร์ซึ่งให้แอปพลิเคชัน โซลูชันการแสดงผลสำหรับ Cuttlefish ที่สามารถทำงานกับเครื่องโฮสต์ใดก็ได้
อย่างไรก็ตาม การใช้ SwiftShader จะไม่มีประสิทธิภาพเท่าอุปกรณ์ปกติ การแสดงผลคือ โจทย์คู่ขนานที่สามารถขนานกันอย่างมหาศาล เป็นพิกเซล สามารถคำนวณได้อย่างอิสระ หน่วยประมวลผลกราฟิก (GPU) คือ หน่วยฮาร์ดแวร์ที่แก้ไขปัญหานี้ด้วยการเร่งการแสดงผล
ข้อกำหนด
โฮสต์ต้องมีสิ่งต่อไปนี้ โหมดกราฟิกแบบเร่ง
- ไดรเวอร์ที่รองรับ EGL ที่รองรับส่วนขยาย
GL_KHR_surfaceless_context
- ไดรเวอร์ที่ใช้ OpenGL ES ได้
- ไดรเวอร์ Vulkan
ใช้โหมดกราฟิกแบบเร่ง
สตรีม GFX
หากต้องการใช้โหมดกราฟิกเร่งของ GfxStream ให้เรียกใช้ Cuttlefish ในเครื่อง
อุปกรณ์ที่มีธง --gpu_mode=gfxstream
การใช้โหมดนี้ OpenGL และ Vulkan
ระบบจะส่งต่อการเรียก API ไปยังโฮสต์โดยตรง
launch_cvd --gpu_mode=gfxstream
เวอร์กล์
หากต้องการใช้โหมดกราฟิกที่มีการเร่งโดย Virgl ให้เปิดอุปกรณ์ Cuttlefish ในเครื่องของคุณ
ที่มีธง --gpu_mode=drm_virgl
launch_cvd --gpu_mode=drm_virgl
เมื่อใช้โหมดกราฟิกแบบเร่งของ Virgl ระบบจะแปลการเรียก OpenGL API ไว้ในการเป็นตัวแทนระดับกลาง (ดู Gallium3D) ระบบจะแจ้งให้โฮสต์และ ไลบรารี virglrenderer เปิดอยู่ โฮสต์จะแปลการนำเสนอระดับกลางกลับไปยังการเรียก API ของ OpenGL