Vi vet nå at Android Q vil støtte Vulkan-backend for ANGLE for å gjøre 2D-spillutvikling enklere. Les videre for å lære mer om hva dette betyr.
Vulkan API støtte for Android ble annonsert med Android Nougat tilbake på Google I/O 2016. For å friske opp tankene dine hjelper denne API-en utviklere med å få mer kontroll over maskinvare på lavt nivå. Denne typen tilgang hjelper dem bedre å dra nytte av prosesseringen og den grafiske kraften til de respektive enhetene, og optimalisere spill for å kjøre så jevnt som mulig. Det er ingen overraskelse at riktig minneallokering og trådhåndtering er viktig i alle slags strømkrevende oppgaver, som å kjøre et spill. Dette er hva populære konsoller som Xbox One og PlayStation 4 har gjort i lang tid – og gir utviklere kontroll på lavt nivå over maskinvaren inne i enhetene.
Det som også er interessant er at Vulkan er en åpen standard på tvers av plattformer, målrettet mot grafikkapplikasjoner på tvers av plattformer. Tidligere i år, vi fant en ledetråd at Android Q kan gjengi brukergrensesnittelementene via Vulkan API. Dette vil være et skritt tatt for å forbedre jevnheten til systemet ytterligere. Nå fikk vi informasjon om at Android Q definitivt vil støtte ANGLE for å gjøre 2D-spillutvikling enklere.
Hva er ANGLE?
ANGLE er en forkortelse og står for "Almost Native Graphics Layer Engine." Fremveksten av WebGL gjorde en nødvendighet for en standardisert løsning for å støtte rendereren. OpenGL-drivere har ikke vært veldig stabile på Windows-plattformen på lenge. Så ANGLE tok alt til et helt nytt nivå med å oversette OpenGL-koden til Direct3D, et API som støttes på Windows. Hovedmålet til ANGLE er å gjøre OpenGL bærbar og tilgjengelig for alle ved å oversette WebGL- og OpenGL ES-innholdet til en maskinvarestøttet API tilgjengelig på plattformen. Ved å bruke samme prinsipp vil ANGLE oversette OpenGL-koden til Vulkan-kode på Android, da førstnevnte er en offisielt støttet maskinvare-API på operativsystemet. Du bruker sannsynligvis ANGLE hver dag uten å være klar over det. ANGLE er innebygd i nettleserne Google Chrome og Mozilla Firefox for skrivebordet. Den brukes til å gjengi alt grafisk innhold i disse nettleserne på Windows.
OpenGL ES vs Vulkan
Khronos Group jobber hardt for å gjøre ANGLE til den viktigste gjengiveren av OpenGL på Vulkan. Mange av dere ser kanskje ikke behovet for å bli kvitt OpenGL til fordel for Vulkan, men det er definitivt et rom for forbedring. På dette tidspunktet regnes OpenGL API som en antikk teknologi. Den ble først utgitt i 1992, som er 26 år siden. 26 år betyr kanskje ikke så mye for noen av dere, men det er et astronomisk tall når det kommer til teknologiutvikling. I 2016 ble verden introdusert for Vulkan – neste nivå for grafikk-API. Men nyere betyr ikke automatisk bedre, ikke sant? La meg forklare hvorfor Vulkan er mye bedre enn OpenGL/OpenGL ES.
Hvis du noen gang har jobbet med OpenGL ES, ville du vite at det er det enorm. API har over 300 utvidelser og er ikke lett å bruke i det hele tatt. Vulkan tar alt på et helt nytt nivå, og tilbyr et mye mindre API og direkte kontroll over grafikk. Det er også lettere å implementere. Selv om Vulkan fungerer på et lavere nivå enn OpenGL ES, betyr det mer kraft å kontrollere. Med Vulkan er tråd- og minnehåndtering fullstendig overlatt til spillets utvikler, slik at du kan bruke ressursene tilstrekkelig. Dessuten er det en veldig liten forskjell mellom mobil- og desktopversjonene av Vulkan, noe som gjør portering av spill mye enklere. For å si det kort, Vulkan er en driver på lavt nivå som lar deg slippe løs det fulle potensialet til grafikkortet som finnes på den aktuelle enheten.
Hvorfor ANGLE?
Den første fordelen med ANGLE er at det er en åpen standardplattform. Det er mange måter å bidra til prosjektet på. Du kan teste driveren på enhetene dine, rapportere feil, fikse feil, hjelpe utviklere med å finne løsninger, sende forslag, donere penger til utviklingen osv. Alt dette vil øke utviklingshastigheten. Det neste store pluss sammenlignet med OpenGL ES er portabilitet og støtte på tvers av plattformer. Naturen til ANGLE gjør jobben enklere for både plattform- og spillutviklere. Å vedlikeholde og implementere ANGLE er mye enklere enn tidligere implementeringer. OpenGL er så fragmentert at det er en smerte for utviklerne å spore opp feilene og fikse dem på forskjellige enheter. Å sentralisere alle nødvendige drivere til ANGLE betyr at utviklere vil ha lettere for å implementere dem. ANGLE-utvikler, Jamie Madill, bekreftet med oss at på Android-plattformen vil ANGLE motta jevnlige oppdateringer via Google Play Store. Å oppdatere drivere via den innebygde førstepartsmarkedsplassen er en god idé fordi brukeren ikke trenger å oppdatere hele systemet hver gang driveren oppdateres. Utviklere trenger heller ikke å fikle med koden hver gang ANGLE endrer noe. Her er en video om hvordan ANGLE kan være til nytte for Android-spillutvikling.
Som du kan se, har ANGLE en rekke forbedringer i forhold til den daterte OpenGL ES. Den første forhåndsutgivelsen av Android Q for utviklere er ikke så langt fremme, så vi kan vente og se hvordan ANGLE fungerer i praksis. I følge denne forpliktelsen, vil brukere kunne tvinge alle applikasjoner til å jobbe med ANGLE fra utvikleralternativene. Støtten for gjengiveren er allerede slått sammen inn i Android Pie-grenen for OEM-er for å teste den. Du kan spore utviklingen av ANGLE fra nettstedet og GitHub-depotet nedenfor.
Takk til XDA Senior Member XxPixX for tipset!
ANGLE nettstedGitHub-depot