Android, yüksek performanslı 3D grafikler için düşük ek yüke sahip, platformlar arası bir API olan Vulkan'ı destekler. Vulkan, OpenGL ES (GLES) gibi uygulamalarda yüksek kaliteli ve gerçek zamanlı grafikler oluşturmak için araçlar sağlar. Vulkan'ı kullanmanın avantajları arasında CPU genel giderinin azaltılması ve SPIR-V Binary Intermediate Language'in desteklenmesi yer alır.
GPU'dan bağımsız donanım tedarikçileri (IHV'ler) gibi çip üzerinde sistem (SoC) tedarikçileri, Android için Vulkan sürücüleri yazar. OEM'ler bu sürücüleri belirli cihazlara entegre eder. Vulkan sürücüsünün sistemle nasıl etkileşime girdiği, GPU'ya özel araçların nasıl yüklendiği ve Android'e özel gereksinimler hakkında ayrıntılı bilgi için Vulkan'ı uygulama başlıklı makaleyi inceleyin.
Uygulama geliştiriciler, GPU'da komutları önemli ölçüde daha az ek yükle yürüten uygulamalar oluşturmak için Vulkan'ı kullanır. Vulkan, EGL ve GLES'e kıyasla mevcut grafik donanımında bulunan özelliklerle daha doğrudan bir eşleme de sağlar. Böylece sürücü hataları olasılığı en aza indirilir ve geliştiricilerin test süresi kısalır.
Vulkan hakkında genel bilgi için Vulkan'a Genel Bakış başlıklı makaleyi veya Kaynaklar listesini inceleyin.
Vulkan bileşenleri
Vulkan desteği aşağıdaki bileşenleri içerir.

Şekil 1. Vulkan bileşenleri
| Bileşen adı | Sağlayıcı | Açıklama |
|---|---|---|
| Vulkan Doğrulama Katmanları | Android (NDK'da) | Vulkan uygulamalarının geliştirilmesi sırasında, bir uygulamanın Vulkan API'sini kullanırken yaptığı hataları bulmak için kullanılan kitaplıklar. API kullanım hataları bulunduktan sonra bu kitaplıklar kaldırılır. |
| Vulkan Çalışma Zamanı | Android | Yerel bir Vulkan API'si sağlayan yerel kitaplık libvulkan.so.Vulkan Runtime'ın işlevlerinin çoğu, GPU tedarikçisi tarafından sağlanan bir sürücüyle uygulanır. Vulkan Runtime, sürücüyü sarmalar, API yakalama özellikleri (hata ayıklama ve diğer geliştirici araçları için) sağlar ve sürücü ile platform bağımlılıkları arasındaki etkileşimi yönetir. |
| Vulkan sürücüsü | Çip üzerinde sistem (SoC) | Vulkan API'yi donanıma özel GPU komutlarına ve çekirdek grafik sürücüsüyle etkileşimlere eşler. |
Değiştirilen bileşenler
BufferQueue ve Gralloc, Vulkan'ı destekler:
- BufferQueue. BufferQueue ve
ANativeWindowarayüzündeki ek enum değerleri ve yöntemleri, Vulkan Runtime'ınANativeWindowüzerinden BufferQueue'ya bağlanmasını sağlar. - Gralloc. İsteğe bağlı bir arayüz, Gralloc'un arabellek ayırmadan belirli bir üretici/tüketici kombinasyonu için belirli bir biçimin kullanılıp kullanılamayacağını keşfetmesine olanak tanır.
Bu bileşenlerle ilgili ayrıntılar için BufferQueue ve
gralloc başlıklı makaleyi inceleyin. ANativeWindow ile ilgili ayrıntılar için
EGLSurfaces ve OpenGL
ES başlıklı makaleyi inceleyin.
Kaynaklar
Vulkan hakkında daha fazla bilgi edinmek için aşağıdaki kaynakları kullanın:
-
Vulkan Loader (
libvulkan.so) atplatform/frameworks/native/vulkan. Android'in Vulkan yükleyicisinin yanı sıra platform geliştiricileri için yararlı olan bazı Vulkan ile ilgili araçları içerir. - Vulkan'ı uygulama Android için Vulkan sürücüleri yazan GPU bağımsız donanım tedarikçileri ve bu sürücüleri belirli cihazlara entegre eden OEM'ler için tasarlanmıştır. Vulkan sürücüsünün sistemle nasıl etkileşime girdiği, GPU'ya özel araçların nasıl yüklenmesi gerektiği ve Android'e özel uygulama gereksinimleri açıklanır.
- Vulkan Graphics API Guide. Android uygulamalarında Vulkan'ı kullanmaya başlama, Android'in Vulkan tasarım yönergeleri platformu, Vulkan'ın gölgelendirici derleyicilerini kullanma ve Vulkan'ı kullanan uygulamalarda kararlılığı sağlamaya yardımcı olmak için doğrulama katmanlarını kullanma hakkında bilgiler içerir.
- Vulkan News Etkinlikler, yamalar, eğitimler ve Vulkan ile ilgili diğer haber makalelerini kapsar.