วัลแคน

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

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

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

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

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

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

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

รูปที่ 1 ส่วนประกอบ Vulkan

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

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

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

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

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

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

ทรัพยากร

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

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