Google ha annunciato prima della conferenza GDC (Game Developers Conference) l'assegnazione dello status di ufficiale all'API grafico Vulkan sulla piattaforma Android. Google sta lavorando per utilizzare Vulkan come principale livello di astrazione per le GPU (HAL, Hardware Abstraction Layer), raccomandato per l'uso in giochi e applicazioni che operano con GPU. Sopra Vulkan funzioneranno anche API interne e componenti come HWUI, Skia e WebGPU.
Attualmente si sta lavorando alla transizione di Android verso un nuovo stack di rendering unificato basato su Vulkan. Nel contesto dello sviluppo di giochi, Google ritiene che la transizione a Vulkan permetterà di utilizzare in modo più efficace le capacità e le prestazioni delle GPU; per esempio, nei giochi sarà possibile creare effetti visivi avanzati e sfruttare funzionalità come il ray tracing.
Vulkan è supportato in Android a partire dal 2016 (Android 7.0), ma la promozione attiva di questa API grafica è iniziata solo recentemente, poiché in precedenza solo una piccola percentuale di dispositivi era idonea a lavorare con Vulkan. Ora la situazione è cambiata e, secondo Google, il numero di dispositivi attivi che supportano Vulkan ha raggiunto l'85%.
Il supporto di OpenGL ES nelle future versioni sarà garantito tramite uno strato ANGLE, che opera sopra Vulkan. Quest'anno, l'implementazione di OpenGL ES basata su ANGLE sarà attivata di default e l'anno prossimo rimarrà l'unica supportata. Nella release Android 16, prevista per il secondo trimestre del 2025, alcuni nuovi dispositivi saranno convertiti all'uso di ANGLE per giochi e applicazioni verificate e approvate.
In Android 17, tutti i nuovi dispositivi e la maggior parte delle applicazioni saranno convertiti su ANGLE (anziché un elenco bianco sarà utilizzato un elenco nero per le applicazioni con problemi). I requisiti per la transizione a ANGLE si applicheranno solo ai nuovi dispositivi originariamente rilasciati basati su Android 16 o Android 17 (i dispositivi che aggiornano il firmware alle nuove versioni non saranno soggetti a tali requisiti).
Per garantire un supporto integrato per Vulkan sui dispositivi, Google ha introdotto un sistema di profili Vulkan (VPA - Vulkan Profiles for Android) che definisce le capacità minime necessarie che un dispositivo deve supportare per passare la certificazione da Google e utilizzare le nuove versioni di Android. Ad esempio, il VPA per Android 16 richiede il supporto delle capacità base di Vulkan 1.3, mentre il VPA per Android 17 richiederà il supporto di Vulkan 1.4. Se un dispositivo non soddisfa i requisiti del profilo, non sarà possibile utilizzare le nuove versioni di Android.

In aggiunta, si segnala la pubblicazione della terza beta della piattaforma mobile open source Android 16. Per valutare le nuove capacità della piattaforma è stata proposta un programma di test preliminari. Le build del firmware sono state preparate per i dispositivi Pixel 6/6a/6 Pro, Pixel 7/7a/7 Pro, Pixel 8/8a/8 Pro, Pixel 9/9 Pro/9 Pro XL/9 Pro Fold, Pixel Fold e Pixel Tablet.
Tra le novità di Android 16 Beta 3:
- Per i dispositivi Pixel 9 è stata abilitata la supporto per la trasmissione audio via Bluetooth in modalità broadcast (Auracast), che consente di trasmettere audio da una sola fonte a più ricevitori o di ricevere audio da più fonti a un solo ricevitore (utile, ad esempio, per ascoltare su cuffie e apparecchi acustici flussi audio esterni, come annunci in aeroporto, senza interrompere altre trasmissioni).
- È stata aggiunta una modalità di aumento del contrasto del testo, che rimuove la trasparenza sotto il testo (il testo chiaro viene visualizzato su uno sfondo nero, e il testo scuro su uno bianco). Questa modalità può essere utile per le persone con visione ridotta.

- È iniziato il test della modalità LNP (Local Network Protection), che consente di limitare l'accesso delle applicazioni alle sottoreti intranet interne (192.168.x.x, 10.x.x.x, ecc.) per bloccare attacchi alle risorse nella rete locale. In questa nuova modalità, oltre alle autorizzazioni "INTERNET", l'applicazione dovrà ricevere un'ulteriore conferma di accesso dall'utente.
Fonte: opennet.ru

