วัลคาน

Android รองรับ Vulkan ซึ่งเป็น API ข้ามแพลตฟอร์มที่มีค่าใช้จ่ายต่ำสำหรับกราฟิก 3D ประสิทธิภาพสูง เช่นเดียวกับ OpenGL ES (GLES) Vulkan มีเครื่องมือสำหรับการสร้างกราฟิกคุณภาพสูงแบบเรียลไทม์ในแอป ข้อดีของการใช้ Vulkan ได้แก่ การลดโอเวอร์เฮดของ CPU และการสนับสนุนภาษา SPIR-V Binary Intermediate

ผู้จำหน่ายระบบบนชิป (SoC) เช่น ผู้จำหน่ายฮาร์ดแวร์อิสระ (IHV) ของ GPU สามารถเขียนไดรเวอร์ Vulkan สำหรับ Android ได้ OEM จำเป็นต้องรวมไดรเวอร์เหล่านี้เข้ากับอุปกรณ์เฉพาะ สำหรับรายละเอียดเกี่ยวกับวิธีที่ไดรเวอร์ Vulkan โต้ตอบกับระบบ วิธีติดตั้งเครื่องมือเฉพาะ GPU และข้อกำหนดเฉพาะของ Android โปรดดู การนำ Vulkan ไปใช้

นักพัฒนาแอปพลิเคชันใช้ Vulkan เพื่อสร้างแอปที่ดำเนินการคำสั่งบน GPU โดยมีค่าใช้จ่ายที่ลดลงอย่างมาก วัลแคนยังให้การแมปที่ตรงยิ่งขึ้นกับความสามารถที่พบในฮาร์ดแวร์กราฟิกปัจจุบันเมื่อเปรียบเทียบกับ EGL และ GLES ซึ่งลดโอกาสที่จะเกิดข้อบกพร่องของไดรเวอร์และลดเวลาการทดสอบของนักพัฒนา

สำหรับข้อมูลทั่วไปเกี่ยวกับวัลแคน โปรดดูที่ ภาพรวมของวัลแคน หรือดูรายการ แหล่งข้อมูล

ส่วนประกอบของวัลแคน

การสนับสนุน Vulkan มีส่วนประกอบดังต่อไปนี้

ส่วนประกอบของวัลแคน

รูปที่ 1. ส่วนประกอบของวัลแคน

ชื่อส่วนประกอบ ผู้ให้บริการ คำอธิบาย
เลเยอร์การตรวจสอบ Vulkan Android (ใน NDK) ไลบรารีที่ใช้ระหว่างการพัฒนาแอป Vulkan เพื่อค้นหาข้อผิดพลาดในการใช้ Vulkan API ของแอป หลังจากพบข้อผิดพลาดในการใช้งาน API ควรลบไลบรารีเหล่านี้ออก
วัลแคนรันไทม์ หุ่นยนต์ ไลบรารีดั้งเดิม libvulkan.so ที่ให้บริการ Vulkan API ดั้งเดิม

ฟังก์ชันการทำงานของ Vulkan Runtime ส่วนใหญ่ใช้งานโดยไดรเวอร์ที่ผู้จำหน่าย GPU จัดหาให้ Vulkan Runtime ล้อมรอบไดรเวอร์ ให้ความสามารถในการสกัดกั้น API (สำหรับการดีบักและเครื่องมือสำหรับนักพัฒนาอื่นๆ) และจัดการการโต้ตอบระหว่างไดรเวอร์และการขึ้นต่อกันของแพลตฟอร์ม
ไดรเวอร์วัลแคน โซซี แมป Vulkan API เข้ากับคำสั่ง GPU เฉพาะฮาร์ดแวร์และการโต้ตอบกับไดรเวอร์กราฟิกเคอร์เนล

ส่วนประกอบที่ถูกดัดแปลง

BufferQueue และ Gralloc รองรับ Vulkan:

  • บัฟเฟอร์คิว ค่าแจงนับเพิ่มเติมและวิธีการใน BufferQueue และอินเทอร์เฟซ ANativeWindow เปิดใช้งานรันไทม์ Vulkan เพื่อเชื่อมต่อกับ BufferQueue ผ่าน ANativeWindow
  • กราลอค. อินเทอร์เฟซเสริมช่วยให้ Gralloc ค้นพบว่ารูปแบบที่กำหนดสามารถใช้สำหรับชุดค่าผสมของผู้ผลิต/ผู้บริโภครายใดรายหนึ่งโดยไม่ต้องจัดสรรบัฟเฟอร์หรือไม่

สำหรับรายละเอียดเกี่ยวกับส่วนประกอบเหล่านี้ โปรดดูที่ BufferQueue และ gralloc สำหรับรายละเอียดเกี่ยวกับ ANativeWindow โปรดดู EGLSurfaces และ OpenGL ES )

ทรัพยากร

ใช้แหล่งข้อมูลต่อไปนี้เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับวัลแคน:

  • Vulkan Loader ( libvulkan.so ) ที่ platform/frameworks/native/vulkan มีตัวโหลด Vulkan ของ Android รวมถึงเครื่องมือที่เกี่ยวข้องกับ Vulkan ที่เป็นประโยชน์สำหรับนักพัฒนาแพลตฟอร์ม
  • การนำวัลแคนไปใช้ มีไว้สำหรับ GPU IHV ที่เขียนไดรเวอร์ Vulkan สำหรับ Android และ OEM ที่รวมไดรเวอร์เหล่านั้นสำหรับอุปกรณ์เฉพาะ โดยอธิบายว่าไดรเวอร์ Vulkan โต้ตอบกับระบบอย่างไร วิธีติดตั้งเครื่องมือเฉพาะ GPU และข้อกำหนดการใช้งานเฉพาะของ Android
  • คู่มือ Vulkan Graphics API รวมข้อมูลเกี่ยวกับการเริ่มต้นใช้งาน Vulkan ในแอป Android, แพลตฟอร์มหลักเกณฑ์การออกแบบ Vulkan ของ Android, การใช้คอมไพเลอร์เชเดอร์ของ Vulkan และการใช้เลเยอร์การตรวจสอบความถูกต้องเพื่อช่วยรับประกันความเสถียรในแอปที่ใช้ Vulkan
  • ข่าววัลแคน ครอบคลุมกิจกรรม แพตช์ บทช่วยสอน และบทความข่าวอื่นๆ ที่เกี่ยวข้องกับวัลแคน