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