Android mendukung Vulkan, sebuah API lintas platform dengan overhead rendah untuk grafis 3D berperforma tinggi. Seperti OpenGL ES (GLES), Vulkan menyediakan alat untuk membuat grafis real-time berkualitas tinggi di aplikasi. Keuntungan menggunakan Vulkan mencakup pengurangan overhead CPU dan dukungan untuk bahasa SPIR-V Binary Intermediate.
Vendor sistem pada chip (SoC) seperti vendor hardware independen (IHV) GPU dapat menulis driver Vulkan untuk Android. OEM perlu mengintegrasikan driver ini untuk perangkat tertentu. Untuk mengetahui detail tentang cara driver Vulkan berinteraksi dengan sistem, cara menginstal alat khusus GPU, dan persyaratan khusus Android, lihat Menerapkan Vulkan.
Developer aplikasi menggunakan Vulkan untuk membuat aplikasi yang mengeksekusi perintah di GPU dengan overhead yang jauh lebih rendah. Vulkan juga memberikan pemetaan yang lebih langsung ke kemampuan yang ada di hardware grafis saat ini dibandingkan dengan EGL dan GLES, sehingga meminimalkan peluang terjadinya bug driver dan mengurangi waktu pengujian developer.
Untuk informasi umum tentang Vulkan, lihat Ringkasan Vulkan atau lihat daftar Resource.
Komponen Vulkan
Dukungan Vulkan mencakup komponen berikut.
Gambar 1. Komponen Vulkan
Nama komponen | Penyedia | Deskripsi |
---|---|---|
Lapisan Validasi Vulkan | Android (di NDK) | Library yang digunakan selama pengembangan aplikasi Vulkan untuk menemukan error dalam penggunaan Vulkan API oleh aplikasi. Setelah error penggunaan API ditemukan, library ini harus dihapus. |
Runtime Vulkan | Android | Library native, libvulkan.so , yang menyediakan Vulkan API native.Sebagian besar fungsi Vulkan Runtime diimplementasikan oleh driver yang disediakan oleh vendor GPU. Vulkan Runtime membungkus driver, menyediakan kemampuan intersep API (untuk proses debug dan alat developer lainnya), serta mengelola interaksi antara driver dan dependensi platform. |
Driver Vulkan | SoC | Memetakan Vulkan API ke perintah dan interaksi GPU khusus hardware dengan driver grafis kernel. |
Komponen yang dimodifikasi
BufferQueue dan Gralloc mendukung Vulkan:
- BufferQueue. Nilai dan metode enum tambahan di
BufferQueue dan antarmuka
ANativeWindow
memungkinkan Runtime Vulkan terhubung ke BufferQueue melaluiANativeWindow
. - Gralloc. Antarmuka opsional memungkinkan Gralloc menemukan apakah format tertentu dapat digunakan untuk kombinasi produsen/konsumen tertentu tanpa mengalokasikan buffer.
Untuk mengetahui detail tentang komponen ini, lihat
BufferQueue dan
gralloc. Untuk mengetahui detail tentang ANativeWindow
, lihat
EGLSurfaces dan OpenGL
ES).
Referensi
Gunakan referensi berikut untuk mempelajari Vulkan lebih lanjut:
-
Vulkan Loader (
libvulkan.so
) diplatform/frameworks/native/vulkan
. Berisi pemuat Vulkan Android, serta beberapa alat terkait Vulkan yang berguna bagi developer platform. - Menerapkan Vulkan. Ditujukan untuk IHV GPU yang menulis driver Vulkan untuk Android dan OEM yang mengintegrasikan driver tersebut untuk perangkat tertentu. Dokumen ini menjelaskan cara driver Vulkan berinteraksi dengan sistem, cara menginstal alat khusus GPU, dan persyaratan penerapan khusus Android.
- Panduan Vulkan Graphics API. Mencakup informasi tentang cara mulai menggunakan Vulkan di aplikasi Android, platform pedoman desain Vulkan Android, penggunaan compiler shader Vulkan, dan penggunaan lapisan validasi untuk membantu memastikan stabilitas di aplikasi yang menggunakan Vulkan.
- Berita Vulkan. Mencakup acara, patch, tutorial, dan artikel berita terkait Vulkan lainnya.