Vulkan

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.

Vulkan
bileşenleri

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'ın ANativeWindow 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) at platform/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.