วัลคาน

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

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

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

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

คอมโพเนนต์ Vulkan

การรองรับ Vulkan ประกอบด้วยคอมโพเนนต์ต่อไปนี้

คอมโพเนนต์ Vulkan

รูปที่ 1 คอมโพเนนต์ Vulkan

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

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

คอมโพเนนต์ที่แก้ไขแล้ว

BufferQueue และ Gralloc รองรับ Vulkan ดังนี้

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

โปรดดูรายละเอียดเกี่ยวกับคอมโพเนนต์เหล่านี้ที่ BufferQueue และ gralloc โปรดดูรายละเอียดเกี่ยวกับ ANativeWindow ที่หัวข้อ EGLSurfaces และ OpenGL)

แหล่งข้อมูล

ดูข้อมูลเพิ่มเติมเกี่ยวกับ Vulkan ได้จากแหล่งข้อมูลต่อไปนี้

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