Vulkan è un'API grafica 3D multipiattaforma moderna progettata per ridurre al minimo l'astrazione tra l'hardware grafico del dispositivo e il gioco. Vulkan è l'API grafica di basso livello principale su Android, che sostituisce OpenGL ES. OpenGL ES è ancora supportato su Android, ma non è più in fase di sviluppo attivo delle funzionalità. Vulkan offre i seguenti vantaggi rispetto a OpenGL ES:
- Un'architettura più efficiente con un overhead della CPU inferiore nel driver grafico
- Nuove strategie di ottimizzazione per migliorare le prestazioni della CPU
- Nuove funzionalità grafiche non disponibili in OpenGL ES, ad esempio API bindless e ray tracing
Vulkan è disponibile su Android a partire da Android 7 (livello API 24). Tutti i dispositivi Android a 64 bit con Android 10 (livello API 29) e versioni successive supportano Vulkan 1.1. L'85% dei dispositivi Android attivi supporta Vulkan. Il profilo di base Android definisce un insieme minimo di funzionalità per i dispositivi compatibili con Vulkan.
Vulkan ti aiuta a creare giochi più belli e performanti. Vulkan libera tutto il potenziale dell'hardware grafico moderno. Vulkan viene utilizzato dal framework di rendering dell'interfaccia utente Android sui dispositivi compatibili. Le versioni attuali dei motori di gioco Unity e Unreal scelgono Vulkan come renderer predefinito sui dispositivi Android compatibili. Il progetto ANGLE implementa un'implementazione conforme dell'API OpenGL ES su Vulkan.
Inizia
C/C++
Per scoprire come utilizzare Vulkan nel motore grafico C/C++ su Android, consulta Iniziare a utilizzare Vulkan su Android.
Inoltre, nella documentazione del Native Development Kit (NDK) è presente una sezione generica su Vulkan per gli sviluppatori non di giochi che tratta i seguenti argomenti:
- Compilatori di shader per prestazioni migliorate
- Livelli di convalida per il debug del codice Vulkan
- Estensioni Vulkan per funzionalità personalizzate
- Profilo di base Android per i requisiti del dispositivo
Motori di gioco
Informazioni su ANGLE
Vulkan è l'interfaccia Android preferita per la GPU. Android 15 e versioni successive includono ANGLE come livello facoltativo per l'esecuzione di OpenGL ES su Vulkan. Il passaggio ad ANGLE standardizza l'implementazione di OpenGL per Android per una migliore compatibilità e, in alcuni casi, prestazioni migliori.
Testa la stabilità e le prestazioni della tua app OpenGL ES con ANGLE utilizzando un'ampia gamma di dispositivi Android 15+ attivando ANGLE per il tuo pacchetto con i seguenti due comandi adb. Sostituisci "package-name" con il pacchetto da testare.
adb shell settings put global angle_gl_driver_selection_pkgs package-name
adb shell settings put global angle_gl_driver_selection_values angle
Queste impostazioni vengono mantenute dopo il riavvio del dispositivo. Per disattivare ANGLE, utilizza i seguenti comandi:
adb shell settings delete global angle_gl_driver_selection_pkgs
adb shell settings delete global angle_gl_driver_selection_values
Attivare l'utilizzo di ANGLE tramite il manifest dell'applicazione
In Android 17 e versioni successive, gli sviluppatori possono aggiungere un flag di metadati nel manifest dell'applicazione per richiedere ANGLE come driver GLES. Non è una garanzia che ANGLE verrà utilizzato, ma un segnale per "preferire" l'utilizzo di ANGLE come driver GLES. Se non è possibile utilizzare ANGLE, verrà utilizzato il driver GLES del fornitore della GPU.
<application android:appCategory="game">
<meta-data android:name="com.android.graphics.driver.prefer_angle" android:value="true" />
</application>
Roadmap di ANGLE su Vulkan per Android

Segnala un problema con ANGLE
Se hai riscontrato problemi con ANGLE, segnalali inviandoli al nostro Issue Tracker.