Vulkan Dili

Android, yüksek performanslı 3D grafiklere yönelik 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şturmaya yönelik araçlar sağlar. Vulkan kullanmanın avantajları arasında CPU yükünün azaltılması ve SPIR-V Binary Intermediate dilinin desteklenmesi yer alır.

GPU'dan bağımsız donanım satıcıları (IHV'ler) gibi çip üzerindeki sistem satıcıları (SoC'ler), Android için Vulkan sürücülerini yazabilir. OEM'lerin bu sürücüleri belirli cihazlar için entegre etmeleri 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ı çalıştıran uygulamalar oluşturmak için Vulkan'ı kullanıyor. Vulkan ayrıca EGL ve GLES'e kıyasla mevcut grafik donanımında bulunan yeteneklere daha doğrudan bir eşleştirme sağlayarak sürücü hatalarına yönelik fırsatları en aza indiriyor ve geliştiricilerin test süresini kısaltıyor.

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.

Vulkan bileşenleri

Ş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 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üphanelerin kaldırılması gerekmektedir.
Vulkan Çalışma Zamanı Android Yerel bir Vulkan API'si sağlayan yerel bir kitaplık, libvulkan.so .

Vulkan Runtime'ın işlevlerinin ç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 Sürücüsü SoC Vulkan API'sini donanıma özel GPU komutlarına ve çekirdek grafik sürücüsüyle olan etkileşimlere eşler.

Değiştirilmiş bileşenler

BufferQueue ve Gralloc, Vulkan'ı destekliyor:

  • BufferQueue. BufferQueue ve ANativeWindow arayüzündeki ek numaralandırma 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 belirli bir formatın belirli bir üretici/tüketici kombinasyonu için bir 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'a bakın. ANativeWindow hakkında 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'lere ve bu sürücüleri belirli cihazlara entegre eden OEM'lere yöneliktir. Bir Vulkan sürücüsünün sistemle nasıl etkileşime girdiğini, GPU'ya özgü araçların nasıl yüklenmesi gerektiğini ve Android'e özgü uygulama gereksinimlerini 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ığı sağlamaya yardımcı olmak için doğrulama katmanlarını kullanma hakkında bilgiler içerir.
  • Vulkan Haberleri . Etkinlikleri, yamaları, eğitimleri ve Vulkan ile ilgili daha fazla haber makalesini kapsar.