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

รูปที่ 1 คอมโพเนนต์ของ Vulkan
| ชื่อคอมโพเนนต์ | ผู้ให้บริการ | คำอธิบาย |
|---|---|---|
| เลเยอร์การตรวจสอบ Vulkan | Android (ใน NDK) | ไลบรารีที่ใช้ระหว่างการพัฒนาแอป Vulkan เพื่อค้นหาข้อผิดพลาดใน การใช้ Vulkan API ของแอป ระบบจะนำไลบรารีเหล่านี้ออกหลังจากพบข้อผิดพลาดในการใช้ API |
| รันไทม์ Vulkan | Android | ไลบรารีแบบเนทีฟ libvulkan.so ที่มี Vulkan API แบบเนทีฟฟังก์ชันการทำงานส่วนใหญ่ของรันไทม์ Vulkan ได้รับการติดตั้งใช้งานโดยไดรเวอร์ ที่ผู้ให้บริการ GPU จัดหาให้ รันไทม์ Vulkan จะห่อหุ้มไดรเวอร์ มีความสามารถในการดักจับ API ความสามารถในการดักจับ (สำหรับการดีบักและเครื่องมืออื่นๆ สำหรับนักพัฒนา) และ จัดการการโต้ตอบระหว่างไดรเวอร์กับทรัพยากรที่แพลตฟอร์ม ต้องพึ่งพา |
| ไดรเวอร์ Vulkan | SoC | แมป Vulkan API กับคำสั่ง GPU เฉพาะของฮาร์ดแวร์และการโต้ตอบ กับไดรเวอร์กราฟิกของเคอร์เนล |
คอมโพเนนต์ที่แก้ไข
BufferQueue และ Gralloc รองรับ Vulkan ดังนี้
- BufferQueue. ค่า enum และเมธอดเพิ่มเติมใน
BufferQueue และอินเทอร์เฟซ
ANativeWindowช่วยให้รันไทม์ Vulkan เชื่อมต่อกับ BufferQueue ผ่านANativeWindowได้ - Gralloc. อินเทอร์เฟซที่ไม่บังคับช่วยให้ Gralloc ค้นพบว่ารูปแบบที่กำหนดสามารถใช้ร่วมกับผู้ผลิต/ผู้บริโภคที่เฉพาะเจาะจงได้หรือไม่โดยไม่ต้องจัดสรรบัฟเฟอร์
ดูรายละเอียดเกี่ยวกับคอมโพเนนต์เหล่านี้ได้ที่
BufferQueue และ
gralloc ดูรายละเอียดเกี่ยวกับ ANativeWindow ได้ที่
EGLSurfaces และ OpenGL
ES
แหล่งข้อมูล
ใช้แหล่งข้อมูลต่อไปนี้เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับ 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 ครอบคลุมกิจกรรม แพตช์ บทแนะนำ และบทความข่าวสารอื่นๆ ที่เกี่ยวข้องกับ Vulkan