Ora sappiamo che Android Q supporterà il backend Vulkan per ANGLE per semplificare lo sviluppo di giochi 2D. Continua a leggere per saperne di più su cosa significa.
API Vulcan il supporto per Android è stato annunciato con Android Nougat al Google I/O 2016. Per rinfrescarti la mente, questa API aiuta gli sviluppatori a ottenere un maggiore controllo sull'hardware di basso livello. Questo tipo di accesso li aiuta a sfruttare meglio l'elaborazione e la potenza grafica delle rispettive unità e a ottimizzare i giochi affinché funzionino nel modo più fluido possibile. Non sorprende che la corretta allocazione della memoria e la gestione dei thread siano importanti in qualsiasi tipo di attività assetata di energia, come l'esecuzione di un gioco. Questo è ciò che console popolari come Xbox One e PlayStation 4 fanno da molto tempo, offrendo agli sviluppatori un controllo di basso livello sull'hardware all'interno dei dispositivi.
Ciò che è anche interessante è che Vulkan è uno standard aperto multipiattaforma, rivolto ad applicazioni grafiche su più piattaforme. All'inizio di quest'anno,
abbiamo trovato un indizio che Android Q possa eseguire il rendering degli elementi dell'interfaccia utente tramite l'API Vulkan. Questo sarà un passo avanti per migliorare ulteriormente la fluidità del sistema. Ora, abbiamo ricevuto informazioni secondo cui Android Q supporterà sicuramente ANGLE per semplificare lo sviluppo di giochi 2D.Cos'è l'ANGOLO?
ANGLE è un'abbreviazione e sta per "Almost Native Graphics Layer Engine". L'ascesa di WebGL ha reso necessaria una soluzione standardizzata per supportare il renderer. I driver OpenGL non sono più molto stabili sulla piattaforma Windows già da molto tempo. Quindi, ANGLE ha portato tutto a un livello completamente nuovo traducendo il codice OpenGL in Direct3D, un'API supportata nativamente su Windows. L'obiettivo principale di ANGLE è rendere OpenGL portatile e accessibile a tutti traducendo il contenuto WebGL e OpenGL ES in un'API supportata da hardware disponibile sulla piattaforma. Utilizzando lo stesso principio, ANGLE tradurrà il codice OpenGL in codice Vulkan su Android, poiché il primo è un'API hardware ufficialmente supportata sul sistema operativo. Probabilmente usi ANGLE ogni giorno senza nemmeno rendertene conto. ANGLE è integrato nei browser Web Google Chrome e Mozilla Firefox per desktop. Viene utilizzato per eseguire il rendering di qualsiasi contenuto grafico all'interno di questi browser su Windows.
OpenGL ES contro Vulkan
Il Gruppo Khronos sta lavorando duramente per rendere ANGLE il principale renderer di OpenGL su Vulkan. Molti di voi potrebbero non vedere la necessità di sbarazzarsi di OpenGL a favore di Vulkan, ma c'è sicuramente un margine di miglioramento. A questo punto, l'API OpenGL è considerata una tecnologia antica. È stato inizialmente pubblicato nel 1992, ovvero 26 anni fa. 26 anni potrebbero non significare molto per alcuni di voi, ma è un numero astronomico quando si parla di sviluppo tecnologico. Nel 2016, al mondo è stato presentato Vulkan, l'API grafica di livello successivo. Ma più nuovo non significa automaticamente migliore, giusto? Lasciami spiegare perché Vulkan è molto meglio di OpenGL/OpenGL ES.
Se hai mai avuto a che fare con OpenGL ES, sapresti che lo è Enorme. L'API ha oltre 300 estensioni e non è affatto facile da usare. Vulkan porta tutto a un livello completamente nuovo, offrendo un'API molto più piccola e il controllo diretto della grafica. È anche più facile da implementare. Sebbene Vulkan funzioni a un livello inferiore rispetto a OpenGL ES, ciò significa più potere di controllo. Con Vulkan, la gestione dei thread e della memoria è completamente lasciata allo sviluppatore del gioco, quindi puoi utilizzare le risorse in modo adeguato. Inoltre, c'è una differenza molto piccola tra la versione mobile e quella desktop di Vulkan, rendendo così il porting dei giochi molto più semplice. In breve, Vulkan è un driver di basso livello che ti consente di sfruttare tutto il potenziale della scheda grafica presente su un particolare dispositivo.
Perchè ANGOLO?
Il primo vantaggio di ANGLE è che si tratta di una piattaforma standard aperta. Ci sono tantissimi modi per contribuire al progetto. Puoi testare il driver sui tuoi dispositivi, segnalare bug, correggere bug, aiutare gli sviluppatori a trovare soluzioni, inviare suggerimenti, donare soldi allo sviluppo, ecc. Tutto ciò aumenterà la velocità dello sviluppo. Il prossimo grande vantaggio rispetto a OpenGL ES è la portabilità e il supporto multipiattaforma. La natura di ANGLE rende il lavoro più semplice sia per gli sviluppatori di piattaforme che di giochi. Mantenere e implementare ANGLE è molto più semplice rispetto alle implementazioni precedenti. OpenGL è così frammentato che rintracciare i bug e risolverli su dispositivi diversi è una seccatura per gli sviluppatori. Centralizzare tutti i driver richiesti in ANGLE significa che gli sviluppatori avranno più tempo per implementarli più facilmente. Lo sviluppatore di ANGLE, Jamie Madill, ha confermato con noi che sulla piattaforma Android, ANGLE riceverà aggiornamenti regolari tramite Google Play Store. L'aggiornamento dei driver tramite il marketplace proprietario integrato è una buona idea perché l'utente non dovrà aggiornare l'intero sistema ogni volta che si aggiorna il driver. Inoltre, gli sviluppatori non avrebbero bisogno di armeggiare con il codice ogni volta che ANGLE cambia qualcosa. Ecco un video su come ANGLE può apportare vantaggi allo sviluppo di giochi Android.
Come puoi vedere, ANGLE presenta numerosi miglioramenti rispetto al datato OpenGL ES. La prima versione di anteprima per sviluppatori di Android Q non è molto lontana, quindi possiamo aspettare e vedere come funziona nella pratica ANGLE. Secondo questo impegno, gli utenti potranno forzare tutte le applicazioni a funzionare con ANGLE dalle opzioni sviluppatore. Il supporto per il renderer è già accorpati nel ramo Android Pie affinché gli OEM possano testarlo. Puoi monitorare lo sviluppo di ANGLE dal sito web e dal repository GitHub di seguito.
Grazie al membro senior di XDA XxPixX per la mancia!
Sito dell'ANGOLORepositorio GitHub