Android, yüksek performanslı 3D grafikler için düşük maliyetli, platformlar arası bir API olan Vulkan'ı destekler. OpenGL ES (GLES) gibi, Vulkan da uygulamalarda yüksek kaliteli, gerçek zamanlı grafikler oluşturmak için araçlar sağlar. Vulkan kullanmanın avantajları arasında CPU ek yükünün azaltılması ve SPIR-V İkili Orta Düzey dili desteği yer alır.
GPU bağımsız donanım satıcıları (IHV'ler) gibi çip satıcıları (SoC'ler) üzerindeki sistem, Android için Vulkan sürücüleri yazabilir. OEM'lerin bu sürücüleri belirli cihazlar için entegre etmesi gerekir. Bir Vulkan sürücüsünün sistemle nasıl etkileşime girdiği, GPU'ya özgü araçların nasıl yüklenmesi gerektiği ve Android'e özgü gereksinimler hakkında ayrıntılar için bkz . Vulkan'ı Uygulama.
Uygulama geliştiricileri, önemli ölçüde azaltılmış ek yük ile GPU üzerinde komutlar yürüten uygulamalar oluşturmak için Vulkan'ı kullanır. Vulkan ayrıca, EGL ve GLES'e kıyasla mevcut grafik donanımında bulunan yeteneklere daha doğrudan bir eşleme sağlayarak, sürücü hataları için fırsatları en aza indirir ve geliştirici test süresini azaltır.
Vulkan hakkında genel bilgi için Vulkan'a Genel Bakış'a bakın veya Kaynaklar listesine bakın.
Vulkan bileşenleri
Vulkan desteği aşağıdaki bileşenleri içerir.
Şekil 1. Vulkan bileşenleri
Bileşen Adı | Sağlayıcı | Tanım |
---|---|---|
Vulkan Doğrulama Katmanları | Android (NDK'da) | Bir uygulamanın Vulkan API'sini kullanımındaki hataları bulmak için Vulkan uygulamalarının geliştirilmesi sırasında kullanılan kitaplıklar. API kullanım hataları bulunduktan sonra bu kütüphaneler kaldırılmalıdır. |
Vulkan Çalışma Zamanı | Android | Yerel bir Vulkan API'si sağlayan yerel bir kitaplık, libvulkan.so .Vulkan Runtime'ın işlevselliğinin çoğu, GPU satıcısı tarafından sağlanan bir sürücü tarafından uygulanır. Vulkan Runtime sürücüyü sarar, API müdahale yetenekleri sağlar (hata ayıklama ve diğer geliştirici araçları için) ve sürücü ile platform bağımlılıkları arasındaki etkileşimi yönetir. |
Vulkan Şoförü | bilgisayar | Vulkan API'sini donanıma özel GPU komutları ve çekirdek grafik sürücüsü ile etkileşimlerle eşler. |
Değiştirilmiş bileşenler
BufferQueue ve Gralloc, Vulkan'ı destekler:
- Tampon Sırası. BufferQueue ve
ANativeWindow
arabirimindeki ek numaralandırma değerleri ve yöntemleri, Vulkan Runtime'ın ANativeWindow aracılığıylaANativeWindow
bağlanmasını sağlar. - Gralloc. İsteğe bağlı bir arabirim, Gralloc'un belirli bir formatın belirli bir üretici/tüketici kombinasyonu için bir arabellek ayırmadan kullanılıp kullanılamayacağını keşfetmesini sağlar.
Bu bileşenlerle ilgili ayrıntılar için bkz. BufferQueue ve gralloc . ANativeWindow
ile ilgili ayrıntılar için, bkz. EGLSurfaces ve OpenGL ES ).
Kaynaklar
Vulkan hakkında daha fazla bilgi edinmek için aşağıdaki kaynakları kullanın:
- Vulkan Yükleyici (
libvulkan.so
)platform/frameworks/native/vulkan
adresinde. Android'in Vulkan yükleyicisinin yanı sıra platform geliştiricileri için yararlı olan Vulkan ile ilgili bazı araçları içerir. - Vulkan'ı uygulamak . Android için Vulkan sürücüleri yazan GPU IHV'ler ve bu sürücüleri belirli cihazlar için entegre eden OEM'ler için tasarlanmıştır. Bir Vulkan sürücüsünün sistemle nasıl etkileşime girdiğini, GPU'ya özgü araçların nasıl kurulması gerektiğini ve Android'e özgü uygulama gerekliliklerini açıklar.
- Vulkan Grafik API Kılavuzu . 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ığın sağlanmasına yardımcı olmak için doğrulama katmanlarını kullanma hakkında bilgiler içerir.
- Volkan Haber . Etkinlikleri, yamaları, öğreticileri ve Vulkan ile ilgili daha fazla haber makalesini kapsar.