We weten nu dat Android Q de Vulkan-backend voor ANGLE zal ondersteunen om de ontwikkeling van 2D-games eenvoudiger te maken. Lees verder voor meer informatie over wat dit betekent.
Vulkan-API ondersteuning voor Android werd aangekondigd met Android Nougat terug op Google I/O 2016. Om je geest op te frissen, helpt deze API ontwikkelaars meer controle te krijgen over hardware op laag niveau. Dit soort toegang helpt hen beter te profiteren van de verwerkings- en grafische kracht van de respectievelijke eenheden, en om games zo soepel mogelijk te laten verlopen. Het is geen verrassing dat correcte geheugentoewijzing en threadbeheer belangrijk zijn bij allerlei energievretende taken, zoals het draaien van een game. Dit is wat populaire consoles als Xbox One en PlayStation 4 al heel lang doen: ontwikkelaars een beperkte controle geven over de hardware in de apparaten.
Wat ook interessant is, is dat Vulkan een platformonafhankelijke open standaard is, gericht op grafische toepassingen op verschillende platforms. Eerder dit jaar,
we hebben een aanwijzing gevonden dat Android Q de gebruikersinterface-elementen kan weergeven via Vulkan API. Dit zal een stap zijn om de soepelheid van het systeem verder te verbeteren. Nu hebben we informatie ontvangen dat Android Q ANGLE zeker zal ondersteunen om de ontwikkeling van 2D-games eenvoudiger te maken.Wat is HOEK?
ANGLE is een afkorting en staat voor "Almost Native Graphics Layer Engine." De opkomst van WebGL maakte een noodzaak voor een gestandaardiseerde oplossing ter ondersteuning van de renderer. OpenGL-stuurprogramma's zijn al een tijdje niet erg stabiel op het Windows-platform. ANGLE heeft alles dus naar een heel nieuw niveau getild door de OpenGL-code te vertalen naar Direct3D, een API die standaard wordt ondersteund op Windows. Het belangrijkste doel van ANGLE is om OpenGL draagbaar en toegankelijk te maken voor iedereen door de WebGL- en OpenGL ES-inhoud te vertalen naar een door hardware ondersteunde API die beschikbaar is op het platform. Volgens hetzelfde principe vertaalt ANGLE de OpenGL-code naar Vulkan-code op Android, aangezien de eerste een officieel ondersteunde hardware-API op het besturingssysteem is. U gebruikt ANGLE waarschijnlijk elke dag zonder het ooit te beseffen. ANGLE is ingebouwd in de webbrowsers Google Chrome en Mozilla Firefox voor de desktop. Het wordt gebruikt om grafische inhoud in deze browsers op Windows weer te geven.
OpenGL ES versus Vulkan
De Khronos Group werkt er hard aan om van ANGLE de belangrijkste renderer van OpenGL op Vulkan te maken. Velen van jullie zien misschien niet de noodzaak in om van OpenGL af te komen ten gunste van Vulkan, maar er is zeker ruimte voor verbetering. Op dit moment wordt OpenGL API beschouwd als een antieke technologie. Het werd voor het eerst uitgebracht in 1992, dat is 26 jaar geleden. 26 jaar betekent misschien niet veel voor sommigen van jullie, maar het is een astronomisch getal als het gaat om technologische ontwikkeling. In 2016 maakte de wereld kennis met Vulkan - de grafische API van het volgende niveau. Maar nieuwer betekent niet automatisch beter, toch? Laat me uitleggen waarom Vulkan veel beter is dan OpenGL/OpenGL ES.
Als u ooit met OpenGL ES te maken heeft gehad, weet u dat dit het geval is enorm. De API heeft meer dan 300 extensies en is helemaal niet eenvoudig te gebruiken. Vulkan tilt alles naar een geheel nieuw niveau en biedt een veel kleinere API en directe controle over de grafische weergave. Het is ook eenvoudiger uit te voeren. Hoewel Vulkan op een lager niveau werkt dan OpenGL ES, betekent dit meer controlekracht. Met Vulkan wordt het thread- en geheugenbeheer volledig overgelaten aan de ontwikkelaar van het spel, zodat je de bronnen op de juiste manier kunt gebruiken. Er is ook een heel klein verschil tussen de mobiele en desktopversies van Vulkan, waardoor het porten van games veel eenvoudiger wordt. Om het kort te houden: Vulkan is een driver op laag niveau waarmee u het volledige potentieel van de grafische kaart op het specifieke apparaat kunt benutten.
Waarom HOEK?
Het eerste voordeel van ANGLE is dat het een open standaardplatform is. Er zijn talloze manieren om bij te dragen aan het project. U kunt het stuurprogramma op uw apparaten testen, bugs melden, bugs oplossen, ontwikkelaars helpen met het bedenken van oplossingen, suggesties sturen, wat geld doneren aan de ontwikkeling, enz. Dit alles zal de snelheid van de ontwikkeling verhogen. Het volgende grote pluspunt in vergelijking met OpenGL ES is draagbaarheid en platformonafhankelijke ondersteuning. De aard van ANGLE maakt het werk eenvoudiger voor zowel platform- als game-ontwikkelaars. Het onderhouden en implementeren van ANGLE is veel eenvoudiger dan eerdere implementaties. OpenGL is zo gefragmenteerd dat het voor de ontwikkelaars lastig is om de bugs op te sporen en op verschillende apparaten op te lossen. Door alle vereiste stuurprogramma's in ANGLE te centraliseren, kunnen ontwikkelaars deze gemakkelijker implementeren. ANGLE-ontwikkelaar Jamie Madill bevestigde met ons dat ANGLE op het Android-platform regelmatig updates zal ontvangen via de Google Play Store. Het updaten van stuurprogramma's via de ingebouwde first-party marktplaats is een goed idee, omdat de gebruiker niet elke keer dat het stuurprogramma wordt bijgewerkt het hele systeem hoeft bij te werken. Bovendien hoeven ontwikkelaars niet elke keer aan de code te sleutelen als ANGLE iets verandert. Hier is een video over hoe ANGLE de ontwikkeling van Android-games kan bevorderen.
Zoals u kunt zien, heeft ANGLE talloze verbeteringen ten opzichte van de gedateerde OpenGL ES. De eerste developer preview-release van Android Q laat nog niet zo lang op zich wachten, dus we kunnen afwachten hoe ANGLE in de praktijk werkt. Volgens deze verbintenis, kunnen gebruikers alle applicaties dwingen om met ANGLE te werken vanuit de ontwikkelaarsopties. De ondersteuning voor de renderer is al samengevoegd naar de Android Pie-tak zodat OEM's het kunnen testen. Je kunt de ontwikkeling van ANGLE volgen vanaf de website en de GitHub-repository hieronder.
Met dank aan XDA Senior-lid XxPixX voor de fooi!
ANGLE-websiteGitHub-opslagplaats