Vi vet nu att Android Q kommer att stödja Vulkan-backend för ANGLE för att göra 2D-spelutveckling enklare. Läs vidare för att lära dig mer om vad detta betyder.
Vulkan API stöd för Android tillkännagavs med Android Nougat tillbaka på Google I/O 2016. För att fräscha upp ditt sinne hjälper detta API utvecklare att få mer kontroll över hårdvara på låg nivå. Den här typen av åtkomst hjälper dem att bättre dra fördel av bearbetningen och den grafiska kraften hos respektive enheter, och optimera spel för att fungera så smidigt som möjligt. Det är ingen överraskning att korrekt minnesallokering och trådhantering är viktiga i alla typer av kraftkrävande uppgifter, som att köra ett spel. Detta är vad populära konsoler som Xbox One och PlayStation 4 har gjort under lång tid – vilket ger utvecklare kontroll på låg nivå över hårdvaran inuti enheterna.
Vad som också är intressant är att Vulkan är en plattformsoberoende öppen standard som riktar in sig på grafikapplikationer över plattformar. Tidigare i år,
vi hittade en ledtråd att Android Q kan återge användargränssnittselementen via Vulkan API. Detta kommer att vara ett steg som tas för att ytterligare förbättra systemets smidighet. Nu fick vi information om att Android Q definitivt kommer att stödja ANGLE för att göra 2D-spelutveckling enklare.Vad är ANGLE?
ANGLE är en förkortning och står för "Almost Native Graphics Layer Engine". Framväxten av WebGL gjorde en nödvändighet för en standardiserad lösning för att stödja renderaren. OpenGL-drivrutiner har inte varit särskilt stabila på Windows-plattformen under en längre tid. Så, ANGLE tog allt till en helt ny nivå med att översätta OpenGL-koden till Direct3D, ett API som stöds av Windows. Huvudmålet med ANGLE är att göra OpenGL portabel och tillgänglig för alla genom att översätta WebGL- och OpenGL ES-innehållet till ett hårdvarustödt API tillgängligt på plattformen. Med samma princip kommer ANGLE att översätta OpenGL-koden till Vulkan-kod på Android, eftersom den förra är en officiellt stödd hårdvaru-API på operativsystemet. Du använder förmodligen ANGLE varje dag utan att någonsin inse det. ANGLE är inbyggt i webbläsarna Google Chrome och Mozilla Firefox för skrivbordet. Den används för att återge allt grafiskt innehåll i dessa webbläsare på Windows.
OpenGL ES vs Vulkan
Khronos Group arbetar hårt för att göra ANGLE till den huvudsakliga renderaren av OpenGL på Vulkan. Många av er kanske inte ser behovet av att bli av med OpenGL till förmån för Vulkan, men det finns definitivt ett utrymme för förbättringar. Vid denna tidpunkt anses OpenGL API vara en antik teknologi. Den släpptes ursprungligen 1992, vilket är 26 år sedan. 26 år kanske inte betyder så mycket för vissa av er men det är en astronomisk siffra när det kommer till teknikutveckling. 2016 introducerades världen för Vulkan – nästa nivås grafik-API. Men nyare betyder inte automatiskt bättre, eller hur? Låt mig förklara varför Vulkan är mycket bättre än OpenGL/OpenGL ES.
Om du någonsin har handlat med OpenGL ES skulle du veta att det är det enorm. API: et har över 300 tillägg och är inte lätt att använda alls. Vulkan tar allt på en helt ny nivå och erbjuder ett mycket mindre API och direkt kontroll över grafiken. Det är också lättare att implementera. Även om Vulkan fungerar på en lägre nivå än OpenGL ES, betyder det mer kraft att kontrollera. Med Vulkan är tråd- och minneshantering helt överlåten till spelets utvecklare, så du kan använda resurserna adekvat. Dessutom är det en mycket liten skillnad mellan mobil- och stationärversionerna av Vulkan, vilket gör porteringen av spel mycket enklare. För att uttrycka det kort, Vulkan är en lågnivådrivrutin som låter dig frigöra den fulla potentialen hos grafikkortet som finns på den specifika enheten.
Varför ANGLE?
Den första fördelen med ANGLE är att det är en öppen standardplattform. Det finns massor av sätt att bidra till projektet. Du kan testa drivrutinen på dina enheter, rapportera buggar, fixa buggar, hjälpa utvecklare att komma med lösningar, skicka förslag, donera lite pengar till utvecklingen osv. Allt detta kommer att öka hastigheten i utvecklingen. Nästa stora plus i jämförelse med OpenGL ES är portabilitet och plattformsoberoende stöd. ANGLEs natur gör jobbet lättare för både plattforms- och spelutvecklare. Att underhålla och implementera ANGLE är mycket enklare än tidigare implementeringar. OpenGL är så fragmenterad att det är jobbigt för utvecklarna att spåra upp buggar och fixa dem på olika enheter. Att centralisera alla nödvändiga drivrutiner i ANGLE innebär att utvecklare har lättare att implementera dem. ANGLE-utvecklaren, Jamie Madill, bekräftade med oss att på Android-plattformen kommer ANGLE att få regelbundna uppdateringar via Google Play Store. Att uppdatera drivrutiner via den inbyggda förstapartsmarknadsplatsen är en bra idé eftersom användaren inte behöver uppdatera hela systemet varje gång drivrutinen uppdateras. Dessutom skulle utvecklare inte behöva mixtra med koden varje gång ANGLE ändrar något. Här är en video om hur ANGLE kan gynna Android-spelutveckling.
Som du kan se har ANGLE många förbättringar jämfört med den daterade OpenGL ES. Den första förhandsversionen av Android Q för utvecklare ligger inte så långt fram, så vi kan vänta och se hur ANGLE fungerar i praktiken. Enligt detta åtagande, kommer användare att kunna tvinga alla applikationer att arbeta med ANGLE från utvecklaralternativen. Stödet för renderaren är redan sammanslagna till Android Pie-grenen för OEM-tillverkare för att testa det. Du kan spåra utvecklingen av ANGLE från webbplatsen och GitHub-förrådet nedan.
Tack till XDA Senior Member XxPixX för tipset!
ANGLE hemsidaGitHub-förråd