Mulai 27 Maret 2025, sebaiknya gunakan android-latest-release
, bukan aosp-main
, untuk mem-build dan berkontribusi pada AOSP. Untuk mengetahui informasi selengkapnya, lihat Perubahan pada AOSP.
Vulkan
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
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
memberikan 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), 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 Vulkan
Runtime terhubung ke BufferQueue melalui ANativeWindow
.
- 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
) di
platform/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 implementasi 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. Meliputi
peristiwa, patch, tutorial, dan artikel berita lainnya yang terkait dengan Vulkan.
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-27 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-07-27 UTC."],[],[],null,["# Vulkan\n\nAndroid supports\n[Vulkan](https://www.khronos.org/vulkan/), a\nlow-overhead, cross-platform API for high-performance 3D graphics. Like\n[OpenGL ES (GLES)](https://www.khronos.org/opengles/),\nVulkan provides tools for creating high-quality, real-time graphics\nin apps. Advantages of using Vulkan include reductions in CPU overhead and\nsupport for the [SPIR-V\nBinary Intermediate](https://www.khronos.org/spir) language.\n\nSystem on chip vendors (SoCs) such as GPU independent hardware vendors (IHVs)\ncan write Vulkan drivers for Android. OEMs need to integrate these\ndrivers for specific devices. For details on how a Vulkan driver interacts with\nthe system, how GPU-specific tools should be installed, and Android-specific\nrequirements, see [Implementing\nVulkan.](/docs/core/graphics/implement-vulkan)\n\nApplication developers use Vulkan to create apps that\nexecute commands on the GPU with significantly reduced overhead. Vulkan also\nprovides a more direct mapping to the capabilities found in current graphics\nhardware compared to [EGL](https://www.khronos.org/egl) and GLES,\nminimizing opportunities for driver bugs and reducing developer testing time.\n\nFor general information on Vulkan, refer to the\n[Vulkan\nOverview](http://khr.io/vulkanlaunchoverview) or see the list of [Resources](#resources).\n\nVulkan components\n-----------------\n\nVulkan support includes the following components.\n\n**Figure 1.** Vulkan components\n\n| Component name | Provider | Description |\n|--------------------------|----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Vulkan Validation Layers | Android (in the NDK) | Libraries used during the development of Vulkan apps to find errors in an app's use of the Vulkan API. After API usage errors are found, these libraries should be removed. |\n| Vulkan Runtime | Android | A native library, `libvulkan.so`, that provides a native Vulkan API. Most of Vulkan Runtime's functionality is implemented by a driver provided by the GPU vendor. Vulkan Runtime wraps the driver, provides API interception capabilities (for debugging and other developer tools), and manages the interaction between the driver and the platform dependencies. |\n| Vulkan Driver | SoC | Maps the Vulkan API onto hardware-specific GPU commands and interactions with the kernel graphics driver. |\n\nModified components\n-------------------\n\nBufferQueue and Gralloc support Vulkan:\n\n- **BufferQueue.** Additional enum values and methods in BufferQueue and the `ANativeWindow` interface enable Vulkan Runtime to connect to BufferQueue through `ANativeWindow`.\n- **Gralloc.** An optional interface lets Gralloc discover whether a given format can be used for a particular producer/consumer combination without allocating a buffer.\n\nFor details on these components, see\n[BufferQueue and\ngralloc](/docs/core/graphics/arch-bq-gralloc). For details on `ANativeWindow`, see\n[EGLSurfaces and OpenGL\nES](/docs/core/graphics/arch-egl-opengl)).\n\nResources\n---------\n\nUse the following resources to learn more about Vulkan:\n\n- [Vulkan Loader](https://android.googlesource.com/platform/frameworks/native/+/android16-release/vulkan/#) (`libvulkan.so`) at `platform/frameworks/native/vulkan`. Contains Android's Vulkan loader, as well as some Vulkan-related tools useful to platform developers.\n- [Implementing Vulkan](/docs/core/graphics/implement-vulkan). Intended for GPU IHVs writing Vulkan drivers for Android and OEMs integrating those drivers for specific devices. It describes how a Vulkan driver interacts with the system, how GPU-specific tools should be installed, and Android-specific implementation requirements.\n- [Vulkan Graphics API Guide](https://developer.android.com/ndk/guides/graphics/index.html). Includes information on getting started with using Vulkan in Android apps, Android's Vulkan design guidelines platform, using Vulkan's shader compilers, and using validation layers to help ensure stability in apps using Vulkan.\n- [Vulkan News](https://www.khronos.org/#slider_vulkan). Covers events, patches, tutorials, and more Vulkan-related news articles."]]