Sada znamo da će Android Q podržavati Vulkan-backend za ANGLE kako bi razvoj 2D igrica bio lakši. Čitajte dalje kako biste saznali više o tome što to znači.
Vulkan API podrška za Android najavljena je uz Android Nougat natrag na Google I/O 2016. Da osvježite svoj um, ovaj API pomaže programerima da steknu veću kontrolu nad hardverom niske razine. Ova vrsta pristupa pomaže im da bolje iskoriste procesorsku i grafičku snagu odgovarajućih jedinica i optimiziraju igre kako bi se odvijale što glađe. Nije iznenađenje da su ispravna dodjela memorije i upravljanje nitima važni u bilo kojoj vrsti zadataka gladnih energije, poput pokretanja igre. To je ono što popularne konzole kao što su Xbox One i PlayStation 4 rade već duže vrijeme - dajući programerima nisku razinu kontrole nad hardverom unutar uređaja.
Ono što je također zanimljivo je da je Vulkan višeplatformski otvoreni standard koji cilja na grafičke aplikacije na različitim platformama. Ranije ove godine, našli smo trag da Android Q može prikazati elemente korisničkog sučelja putem Vulkan API-ja. Ovo će biti korak poduzet za daljnje poboljšanje glatkoće sustava. Sada smo dobili informaciju da će Android Q definitivno podržavati ANGLE kako bi razvoj 2D igrica bio lakši.
Što je ANGLE?
ANGLE je skraćenica i označava "Almost Native Graphics Layer Engine". Uspon WebGL-a stvorio je potrebu za standardiziranim rješenjem podrške rendereru. OpenGL upravljački programi već duže vrijeme nisu baš stabilni na Windows platformi. Dakle, ANGLE je podigao sve na potpuno novu razinu prevođenjem OpenGL koda u Direct3D, API izvorno podržan u sustavu Windows. Glavni cilj ANGLE-a je učiniti OpenGL prenosivim i dostupnim svima prevođenjem WebGL i OpenGL ES sadržaja u hardverski podržan API dostupan na platformi. Koristeći isti princip, ANGLE će prevesti OpenGL kod u Vulkan kod na Androidu, budući da je prvi službeno podržan hardverski API na operativnom sustavu. Vjerojatno koristite ANGLE svaki dan, a da toga niste svjesni. ANGLE je ugrađen u web preglednike Google Chrome i Mozilla Firefox za stolna računala. Koristi se za iscrtavanje bilo kojeg grafičkog sadržaja unutar ovih preglednika u sustavu Windows.
OpenGL ES protiv Vulkana
Grupa Khronos naporno radi na tome da ANGLE postane glavni renderer OpenGL-a na Vulkanu. Mnogi od vas možda ne vide potrebu da se riješe OpenGL-a u korist Vulkana, ali definitivno postoji prostor za poboljšanje. U ovom se trenutku OpenGL API smatra starinskom tehnologijom. Prvobitno je objavljen 1992., što je prije 26 godina. Možda nekima od vas 26 godina ne znači puno, ali to je astronomski broj kada je riječ o razvoju tehnologije. U 2016. svijetu je predstavljen Vulkan - grafički API sljedeće razine. No, novije ne znači automatski i bolje, zar ne? Dopustite mi da objasnim zašto je Vulkan puno bolji od OpenGL/OpenGL ES.
Ako ste ikada imali posla s OpenGL ES-om, znali biste da jest ogroman. API ima više od 300 proširenja i nije nimalo jednostavan za korištenje. Vulkan sve podiže na potpuno novu razinu, nudeći puno manji API i izravnu kontrolu grafike. Također je lakše implementirati. Iako Vulkan radi na nižoj razini od OpenGL ES, to znači više snage za kontrolu. Uz Vulkan, upravljanje nitima i memorijom u potpunosti je prepušteno razvojnom programeru igre, tako da možete adekvatno koristiti resurse. Također, postoji vrlo mala razlika između mobilne i desktop verzije Vulkana, što čini prijenos igara puno lakšim. Ukratko, Vulkan je upravljački program niske razine koji vam omogućuje da oslobodite puni potencijal grafičke kartice prisutne na određenom uređaju.
Zašto ANGLE?
Prva prednost ANGLE-a je to što je to platforma otvorenog standarda. Postoji mnogo načina da doprinesete projektu. Možete testirati upravljački program na svojim uređajima, prijaviti greške, popraviti greške, pomoći programerima da dođu do rješenja, poslati prijedloge, donirati nešto novca za razvoj itd. Sve će to ubrzati razvoj. Sljedeći veliki plus u usporedbi s OpenGL ES je prenosivost i podrška za više platformi. Priroda ANGLE-a olakšava posao razvijačima platformi i igara. Održavanje i implementacija ANGLE-a puno je lakša od ranijih implementacija. OpenGL je toliko fragmentiran da pronalaženje grešaka i njihovo popravljanje na različitim uređajima predstavlja bol za programere. Centraliziranje svih potrebnih upravljačkih programa u ANGLE znači da će ih programeri lakše implementirati. ANGLE programer, Jamie Madill, potvrdio nam je da će na Android platformi ANGLE primati redovita ažuriranja putem Google Play Storea. Ažuriranje upravljačkih programa putem ugrađenog tržišta prve strane dobra je ideja jer korisnik neće morati ažurirati cijeli sustav svaki put kada se ažurira upravljački program. Također, programeri ne bi morali petljati s kodom svaki put kada ANGLE nešto promijeni. Evo videozapisa o tome kako ANGLE može koristiti razvoju Android igara.
Kao što vidite, ANGLE ima brojna poboljšanja u odnosu na zastarjeli OpenGL ES. Prvo izdanje Androida Q za razvojne programere nije tako daleko, pa možemo pričekati i vidjeti kako ANGLE radi u praksi. Prema ovo počiniti, korisnici će moći prisiliti sve aplikacije da rade s ANGLE-om iz opcija za razvojne programere. Podrška za renderer je već spojeno u ogranak Android Pie kako bi ga OEM-ovi testirali. Možete pratiti razvoj ANGLE-a s web stranice i GitHub repozitorija u nastavku.
Hvala starijem članu XDA XxPixX za napojnicu!
ANGLE stranicaGitHub spremište