Vulkan

Android mendukung Vulkan , API lintas platform dengan overhead rendah untuk grafis 3D performa 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 Biner Menengah SPIR-V .

Vendor sistem pada chip (SoC) seperti vendor perangkat keras independen GPU (IHV) dapat menulis driver Vulkan untuk Android. OEM perlu mengintegrasikan driver ini untuk perangkat tertentu. Untuk detail tentang cara driver Vulkan berinteraksi dengan sistem, cara pemasangan alat khusus GPU, 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 terhadap kemampuan yang ditemukan pada perangkat keras grafis saat ini dibandingkan dengan EGL dan GLES, meminimalkan peluang terjadinya bug driver dan mengurangi waktu pengujian pengembang.

Untuk informasi umum tentang Vulkan, rujuk Ikhtisar 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 (di NDK) Perpustakaan yang digunakan selama pengembangan aplikasi Vulkan untuk menemukan kesalahan dalam penggunaan Vulkan API oleh aplikasi. Setelah kesalahan penggunaan API ditemukan, perpustakaan ini harus dihapus.
Waktu Proses Vulkan 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 .
  • Gralloc. 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 GPU IHV yang menulis driver Vulkan untuk Android dan OEM yang mengintegrasikan driver tersebut untuk perangkat tertentu. Panduan ini menjelaskan cara driver Vulkan berinteraksi dengan sistem, cara pemasangan alat khusus GPU, dan persyaratan implementasi khusus Android.
  • Panduan API Grafik Vulkan . Berisi informasi tentang memulai penggunaan Vulkan di aplikasi Android, platform pedoman desain Vulkan Android, menggunakan compiler shader Vulkan, dan menggunakan lapisan validasi untuk membantu memastikan stabilitas dalam aplikasi yang menggunakan Vulkan.
  • Berita Vulkan . Meliputi acara, patch, tutorial, dan artikel berita terkait Vulkan lainnya.