Android mendukung Vulkan, 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 Mengimplementasikan Vulkan.
Developer aplikasi menggunakan Vulkan untuk membuat aplikasi yang menjalankan perintah di GPU dengan overhead yang berkurang secara signifikan. Vulkan juga menyediakan pemetaan yang lebih langsung ke kemampuan yang ditemukan di hardware grafis saat ini dibandingkan dengan EGL dan GLES, sehingga meminimalkan peluang untuk bug driver dan mengurangi waktu pengujian developer.
Untuk informasi umum tentang Vulkan, lihat Ringkasan Vulkan atau lihat daftar Referensi.
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. Runtime Vulkan menggabungkan driver, menyediakan kemampuan intersepsi API (untuk proses debug dan alat developer lainnya), dan 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 Vulkan Runtime terhubung ke BufferQueue melaluiANativeWindow
. - Gralloc. Antarmuka opsional memungkinkan Gralloc menemukan apakah format tertentu dapat digunakan untuk kombinasi produsen/konsumen tertentu tanpa mengalokasikan buffering.
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 loader Vulkan Android, serta beberapa alat terkait Vulkan yang berguna bagi developer platform. - Mengimplementasikan Vulkan. Diperuntukkan bagi 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 alat khusus GPU harus diinstal, dan persyaratan penerapan khusus Android.
- Panduan Vulkan Graphics API. Menyertakan informasi tentang cara memulai penggunaan Vulkan di aplikasi Android, platform pedoman desain Vulkan Android, menggunakan compiler shader Vulkan, dan menggunakan lapisan validasi untuk membantu memastikan stabilitas di aplikasi yang menggunakan Vulkan.
- Vulkan News. Mencakup peristiwa, patch, tutorial, dan artikel berita lainnya yang terkait dengan Vulkan.