Android, yüksek performanslı 3D grafikler için düşük ek yüke sahip, platformlar arası bir API olan Vulkan'ı destekler. OpenGL ES (GLES) gibi Vulkan da 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 giderlerinde azalma ve SPIR-V Binary Intermediate diline destek yer alır.
GPU'dan bağımsız donanım sağlayıcılar (IHV'ler) gibi çip üzerinde sistem sağlayıcıları (SoC'ler) Android için Vulkan sürücüleri yazabilir. OEM'lerin belirli cihazlar için bu sürücüleri entegre etmesi gerekir. Vulkan sürücüsünün sistemle nasıl etkileşime girdiği, GPU'ya özel araçların nasıl yükleneceğ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 azaltılmış ek yükle 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 özelliklerle daha doğrudan bir eşleme sağlayarak sürücü hataları olasılığını en aza indirir ve geliştiricilerin test süresini kısaltır.
Vulkan hakkında genel bilgi için Vulkan'a Genel Bakış bölümüne bakın veya Kaynaklar listesini inceleyin.
Vulkan bileşenleri
Vulkan desteği aşağıdaki bileşenleri içerir.
1. şekil. 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ılmalıdır. |
Vulkan Runtime | Android | Yerel bir Vulkan API'si sağlayan yerel kitaplık, libvulkan.so .Vulkan Runtime'ın işlevlerinin çoğu, GPU satıcısı 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 özgü 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
ANativeWindow
arayüzündeki ek enum değerleri ve yöntemleri, Vulkan Runtime'ınANativeWindow
aracılığıyla 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 and OpenGL
ES başlıklı makaleye bakın.
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 Vulkan ile ilgili bazı araçları içerir. - Vulkan'ı uygulama Android için Vulkan sürücüleri yazan GPU IHV'leri 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şim kurduğunu, GPU'ya özel araçların nasıl yüklenmesi gerektiğini ve Android'e özel uygulama koşullarını açıklar.
- 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, öğreticiler ve Vulkan ile ilgili diğer haber makalelerini kapsar.