Vulkan

Android mendukung Vulkan , API lintas platform dengan overhead rendah untuk grafis 3D berkinerja tinggi. Seperti OpenGL ES (GLES) , Vulkan menyediakan alat untuk membuat grafik real-time berkualitas tinggi dalam aplikasi. Keuntungan menggunakan Vulkan termasuk pengurangan overhead CPU dan dukungan untuk bahasa SPIR-V Binary Intermediate .

Vendor sistem pada chip (SoC) seperti vendor perangkat keras independen GPU (IHVs) dapat menulis driver Vulkan untuk Android. OEM perlu mengintegrasikan driver ini untuk perangkat tertentu. Untuk detail tentang bagaimana driver Vulkan berinteraksi dengan sistem, bagaimana alat khusus GPU harus diinstal, dan persyaratan khusus Android, lihat Menerapkan Vulkan.

Pengembang aplikasi menggunakan Vulkan untuk membuat aplikasi yang menjalankan perintah pada GPU dengan pengurangan overhead yang signifikan. Vulkan juga menyediakan pemetaan yang lebih langsung ke kemampuan yang ditemukan di perangkat keras grafis saat ini dibandingkan dengan EGL dan GLES, meminimalkan peluang untuk bug driver dan mengurangi waktu pengujian pengembang.

Untuk informasi umum tentang Vulkan, lihat Tinjauan Umum Vulkan atau lihat daftar Sumberdaya .

Komponen Vulkan

Dukungan Vulkan mencakup komponen berikut.

Komponen Vulkan

Gambar 1. Komponen Vulkan

Nama komponen Pemberi Keterangan
Lapisan Validasi Vulkan Android (dalam NDK) Pustaka yang digunakan selama pengembangan aplikasi Vulkan untuk menemukan kesalahan dalam penggunaan API Vulkan aplikasi. Setelah kesalahan penggunaan API ditemukan, pustaka ini harus dihapus.
Vulkan Runtime Android Pustaka asli, libvulkan.so , yang menyediakan API Vulkan asli.

Sebagian besar fungsi Vulkan Runtime diimplementasikan oleh driver yang disediakan oleh vendor GPU. Vulkan Runtime membungkus driver, menyediakan kemampuan intersepsi API (untuk debugging dan alat pengembang lainnya), dan mengelola interaksi antara driver dan dependensi platform.
Pengemudi Vulkan SoC Memetakan Vulkan API ke perintah GPU khusus perangkat keras dan interaksi dengan driver grafis kernel.

Komponen yang dimodifikasi

BufferQueue dan Gralloc mendukung Vulkan:

  • Antrian Penyangga. Nilai dan metode enum tambahan di BufferQueue dan antarmuka ANativeWindow memungkinkan Vulkan Runtime untuk terhubung ke BufferQueue melalui ANativeWindow .
  • Graloc. Antarmuka opsional memungkinkan Gralloc menemukan apakah format tertentu dapat digunakan untuk kombinasi produsen/konsumen tertentu tanpa mengalokasikan buffer.

Untuk detail tentang komponen ini, lihat BufferQueue dan gralloc . Untuk detail tentang ANativeWindow , lihat EGLSurfaces dan OpenGL ES ).

Sumber daya

Gunakan sumber daya berikut untuk mempelajari lebih lanjut tentang Vulkan:

  • Vulkan Loader ( libvulkan.so ) di platform/frameworks/native/vulkan . Berisi pemuat Vulkan Android, serta beberapa alat terkait Vulkan yang berguna bagi pengembang platform.
  • Menerapkan Vulkan . Ditujukan untuk IHV GPU yang menulis driver Vulkan untuk Android dan OEM yang mengintegrasikan driver tersebut untuk perangkat tertentu. Ini menjelaskan bagaimana driver Vulkan berinteraksi dengan sistem, bagaimana alat khusus GPU harus dipasang, dan persyaratan implementasi khusus Android.
  • Panduan API Grafik Vulkan . Termasuk informasi tentang memulai menggunakan Vulkan di aplikasi Android, platform pedoman desain Vulkan Android, menggunakan kompiler shader Vulkan, dan menggunakan lapisan validasi untuk membantu memastikan stabilitas dalam aplikasi yang menggunakan Vulkan.
  • Berita Vulkan . Meliputi acara, patch, tutorial, dan lebih banyak artikel berita terkait Vulkan.