Vi ved nu, at Android Q vil understøtte Vulkan-backend til ANGLE for at gøre 2D-spiludvikling lettere. Læs videre for at lære mere om, hvad dette betyder.
Vulkan API understøttelse af Android blev annonceret med Android Nougat tilbage på Google I/O 2016. For at genopfriske dit sind hjælper denne API udviklere med at få mere kontrol over hardware på lavt niveau. Denne form for adgang hjælper dem med bedre at udnytte de respektive enheders bearbejdnings- og grafiske kraft og optimere spil, så de kører så glat som muligt. Det er ingen overraskelse, at korrekt hukommelsesallokering og trådstyring er vigtige i enhver form for strømkrævende opgaver, som at køre et spil. Dette er, hvad populære konsoller som Xbox One og PlayStation 4 har gjort i lang tid - at give udviklere kontrol på lavt niveau over hardwaren inde i enhederne.
Hvad der også er interessant er, at Vulkan er en åben standard på tværs af platforme, der målretter grafikapplikationer på tværs af platforme. Tidligere i år, vi fandt et spor
at Android Q kan gengive brugergrænsefladeelementerne via Vulkan API. Dette vil være et skridt taget for at forbedre systemets glathed yderligere. Nu modtog vi information om, at Android Q helt sikkert vil understøtte ANGLE for at gøre 2D-spiludvikling lettere.Hvad er ANGLE?
ANGLE er en forkortelse og står for "Almost Native Graphics Layer Engine." Fremkomsten af WebGL gjorde det nødvendigt med en standardiseret løsning til at understøtte rendereren. OpenGL-drivere har ikke været særlig stabile på Windows-platformen i lang tid. Så ANGLE tog alt til et helt nyt niveau med at oversætte OpenGL-koden til Direct3D, en API, der er naturligt understøttet på Windows. Hovedmålet med ANGLE er at gøre OpenGL bærbar og tilgængelig for alle ved at oversætte WebGL- og OpenGL ES-indholdet til en hardware-understøttet API tilgængelig på platformen. Ved at bruge samme princip vil ANGLE oversætte OpenGL-koden til Vulkan-kode på Android, da førstnævnte er en officielt understøttet hardware API på operativsystemet. Du bruger sandsynligvis ANGLE hver dag uden nogensinde at være klar over det. ANGLE er indbygget i Google Chrome og Mozilla Firefox webbrowsere til skrivebordet. Det bruges til at gengive ethvert grafisk indhold i disse browsere på Windows.
OpenGL ES vs Vulkan
Khronos Group arbejder hårdt på at gøre ANGLE til den vigtigste renderer af OpenGL på Vulkan. Mange af jer ser måske ikke behovet for at slippe af med OpenGL til fordel for Vulkan, men der er bestemt plads til forbedringer. På dette tidspunkt betragtes OpenGL API som en antik teknologi. Den blev oprindeligt udgivet i 1992, hvilket er 26 år siden. 26 år betyder måske ikke meget for nogle af jer, men det er et astronomisk tal, når det kommer til teknologiudvikling. I 2016 blev verden introduceret til Vulkan - det næste niveau for grafik-API. Men nyere betyder ikke automatisk bedre, vel? Lad mig forklare, hvorfor Vulkan er meget bedre end OpenGL/OpenGL ES.
Hvis du nogensinde har beskæftiget dig med OpenGL ES, ville du vide, at det er det kæmpe stor. API'et har over 300 udvidelser og er slet ikke let at bruge. Vulkan tager alt på et helt nyt niveau og tilbyder en meget mindre API og direkte kontrol over grafikken. Det er også nemmere at implementere. Selvom Vulkan fungerer på et lavere niveau end OpenGL ES, betyder det mere magt at kontrollere. Med Vulkan er tråd- og hukommelseshåndtering fuldstændig overladt til spillets udvikler, så du kan bruge ressourcerne tilstrækkeligt. Der er også en meget lille forskel mellem mobil- og desktopversionerne af Vulkan, hvilket gør portering af spil meget nemmere. For at sige det kort er Vulkan en driver på lavt niveau, som lader dig frigøre det fulde potentiale af det grafikkort, der findes på den pågældende enhed.
Hvorfor ANGLE?
Den første fordel ved ANGLE er, at det er en åben standard platform. Der er tonsvis af måder at bidrage til projektet på. Du kan teste driveren på dine enheder, rapportere fejl, rette fejl, hjælpe udviklere med at komme med løsninger, sende forslag, donere nogle penge til udviklingen osv. Alt dette vil sætte gang i udviklingen. Det næste store plus i sammenligning med OpenGL ES er portabilitet og support på tværs af platforme. Karakteren af ANGLE gør arbejdet lettere for både platform- og spiludviklere. Vedligeholdelse og implementering af ANGLE er meget nemmere end tidligere implementeringer. OpenGL er så fragmenteret, at det er en smerte for udviklerne at spore fejlene og rette dem på forskellige enheder. Centralisering af alle de nødvendige drivere i ANGLE betyder, at udviklere vil have nemmere ved at implementere dem. ANGLE-udvikler, Jamie Madill, bekræftede med os, at på Android-platformen vil ANGLE modtage regelmæssige opdateringer via Google Play Butik. Opdatering af drivere via den indbyggede førstepartsmarkedsplads er en god idé, fordi brugeren ikke behøver at opdatere hele systemet, hver gang driveren opdateres. Udviklere behøvede heller ikke at pille ved koden, hver gang ANGLE ændrer noget. Her er en video om, hvordan ANGLE kan gavne Android spiludvikling.
Som du kan se, har ANGLE adskillige forbedringer i forhold til den daterede OpenGL ES. Den første udvikler-preview-udgivelse af Android Q er ikke så langt fremme, så vi kan vente og se, hvordan ANGLE fungerer i praksis. Ifølge denne forpligtelse, vil brugere være i stand til at tvinge alle applikationer til at arbejde med ANGLE fra udviklermulighederne. Støtten til rendereren er allerede slået sammen ind i Android Pie-grenen for OEM'er for at teste det. Du kan spore udviklingen af ANGLE fra hjemmesiden og GitHub-lageret nedenfor.
Tak til XDA Senior Member XxPixX for tippet!
ANGLE hjemmesideGitHub-depot