Vulkan

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.

Vulkan
bileşenleri

Ş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 ANativeWindow arayüzündeki ek enum değerleri ve yöntemleri, Vulkan Runtime'ın ANativeWindow ü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) at platform/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.