Vulkan Dili

Android, yüksek performanslı 3D grafikler için kullanılan 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 yükü azaltma ve SPIR-V İkili Ara dili desteği yer alır.

GPU bağımsız donanım tedarikçi firmaları (IHV'ler) gibi çip üzerinde sistem (SoC) tedarikçi firmaları Android için Vulkan sürücüleri yazabilir. OEM'lerin bu sürücüleri belirli cihazlara entegre etmesi gerekir. Vulkan sürücüsünün sistemle nasıl etkileşime geçtiği, GPU'ya özgü araçların nasıl yüklenmesi gerektiği ve Android'e özgü gereksinimler hakkında ayrıntılı bilgi için Vulkan'ı uygulama başlıklı makaleyi inceleyin.

Uygulama geliştiriciler, Vulkan'ı kullanarak GPU'da komutları önemli ölçüde azaltılmış ek maliyetle yürüten uygulamalar oluşturur. Vulkan, EGL ve GLES'e kıyasla mevcut grafik donanımındaki özelliklerle daha doğrudan bir eşleme sağlar. Böylece sürücü hatası olasılığını en aza indirir ve geliştirici test süresini kısaltır.

Vulkan hakkında genel bilgi için Vulkan'a Genel Bakış başlıklı makaleyi inceleyin veya Kaynaklar listesine göz atın.

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, uygulamanın Vulkan API'sini kullanımındaki hataları bulmak için kullanılan kitaplıklar. API kullanım hataları bulunduktan sonra bu kitaplıklar kaldırılmalıdır.
Vulkan Çalışma Zamanı Android Yerel Vulkan API'si sağlayan libvulkan.so adlı yerel bir kitaplık.

Vulkan Runtime'ın işlevlerinin çoğu, GPU tedarikçi firma tarafından sağlanan bir sürücü tarafından uygulanır. Vulkan Runtime, sürücüyü sarmalar, API müdahalesi ö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ştirilmiş 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'a bağlanmasını sağlar.
  • Gralloc. İsteğe bağlı bir arayüz, Gralloc'un belirli bir biçimin belirli bir üretici/tüketici kombinasyonu için arabellek ayırmadan 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 hakkında ayrıntılı bilgi 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:

  • platform/frameworks/native/vulkan adresindeki Vulkan Yükleyici (libvulkan.so). Android'in Vulkan yükleyicisinin yanı sıra platform geliştiricileri için yararlı olan bazı Vulkan araçlarını içerir.
  • Vulkan'ı uygulama. Android için Vulkan sürücüleri yazan GPU IHV'ler 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 geçtiğini, GPU'ya özgü araçların nasıl kurulacağını ve Android'e özgü uygulama koşullarını açıklar.
  • Vulkan Graphics API Guide (Vulkan Graphics 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ığı sağlamaya yardımcı olmak için doğrulama katmanlarını kullanma hakkında bilgi içerir.
  • Vulkan News. Etkinlikler, yamalar, eğitici içerikler ve Vulkan ile ilgili diğer haberlere yer verilir.