Nous savons maintenant qu'Android Q prendra en charge le backend Vulkan pour ANGLE afin de faciliter le développement de jeux 2D. Lisez la suite pour en savoir plus sur ce que cela signifie.
API Vulkan la prise en charge d'Android a été annoncée avec Android Nougat de retour à Google I/O 2016. Pour vous rafraîchir l'esprit, cette API aide les développeurs à mieux contrôler le matériel de bas niveau. Ce type d'accès les aide à mieux tirer parti de la puissance de traitement et graphique des unités respectives et à optimiser les jeux pour qu'ils fonctionnent le plus facilement possible. Il n'est pas surprenant qu'une allocation correcte de la mémoire et une gestion des threads soient importantes dans tout type de tâches gourmandes en énergie, comme l'exécution d'un jeu. C'est ce que font depuis longtemps les consoles populaires comme la Xbox One et la PlayStation 4: donner aux développeurs un contrôle de bas niveau sur le matériel à l'intérieur des appareils.
Ce qui est également intéressant, c'est que Vulkan est un standard ouvert multiplateforme, ciblant les applications graphiques sur toutes les plateformes. Plus tôt cette année,
nous avons trouvé un indice qu'Android Q peut restituer les éléments de l'interface utilisateur via l'API Vulkan. Ce sera une mesure prise pour améliorer encore la fluidité du système. Nous avons désormais reçu des informations selon lesquelles Android Q prendrait définitivement en charge ANGLE pour faciliter le développement de jeux 2D.Qu’est-ce qu’ANGLE?
ANGLE est une abréviation et signifie « Moteur de couche graphique presque natif ». L'essor de WebGL a rendu nécessaire une solution standardisée de prise en charge du moteur de rendu. Les pilotes OpenGL ne sont plus très stables sur la plateforme Windows depuis un certain temps. Ainsi, ANGLE a tout porté à un tout autre niveau en traduisant le code OpenGL en Direct3D, une API prise en charge nativement sous Windows. L'objectif principal d'ANGLE est de rendre OpenGL portable et accessible à tous en traduisant le contenu WebGL et OpenGL ES en une API matérielle disponible sur la plate-forme. En utilisant le même principe, ANGLE traduira le code OpenGL en code Vulkan sur Android, car le premier est une API matérielle officiellement prise en charge sur le système d'exploitation. Vous utilisez probablement ANGLE tous les jours sans jamais vous en rendre compte. ANGLE est intégré aux navigateurs Web Google Chrome et Mozilla Firefox pour le bureau. Il est utilisé pour restituer tout contenu graphique dans ces navigateurs sous Windows.
OpenGL ES et Vulkan
Le groupe Khronos travaille dur pour faire d'ANGLE le principal moteur de rendu d'OpenGL sur Vulkan. Beaucoup d'entre vous ne voient peut-être pas la nécessité de se débarrasser d'OpenGL au profit de Vulkan, mais il y a certainement place à l'amélioration. À ce stade, l’API OpenGL est considérée comme une technologie ancienne. Il a été initialement publié en 1992, soit il y a 26 ans. 26 ans ne signifient peut-être pas grand-chose pour certains d’entre vous, mais c’est un nombre astronomique en matière de développement technologique. En 2016, le monde a découvert Vulkan, l'API graphique de niveau supérieur. Mais plus récent ne signifie pas automatiquement meilleur, n'est-ce pas? Laissez-moi vous expliquer pourquoi Vulkan est bien meilleur qu'OpenGL/OpenGL ES.
Si vous avez déjà utilisé OpenGL ES, vous savez que c'est énorme. L'API compte plus de 300 extensions et n'est pas du tout facile à utiliser. Vulkan amène tout à un tout autre niveau, offrant une API beaucoup plus petite et un contrôle direct des graphiques. Il est également plus facile à mettre en œuvre. Bien que Vulkan fonctionne à un niveau inférieur à OpenGL ES, cela signifie plus de pouvoir de contrôle. Avec Vulkan, la gestion des threads et de la mémoire est entièrement laissée au développeur du jeu, afin que vous puissiez utiliser les ressources de manière adéquate. De plus, il existe une très petite différence entre les versions mobile et de bureau de Vulkan, ce qui rend le portage des jeux beaucoup plus facile. Pour faire court, Vulkan est un pilote de bas niveau qui vous permet de libérer tout le potentiel de la carte graphique présente sur l'appareil en question.
Pourquoi ANGLE?
Le premier avantage d’ANGLE est qu’il s’agit d’une plateforme aux standards ouverts. Il existe de nombreuses façons de contribuer au projet. Vous pouvez tester le pilote sur vos appareils, signaler des bugs, corriger des bugs, aider les développeurs à trouver des solutions, envoyer des suggestions, donner de l'argent au développement, etc. Tout cela accélérera la vitesse du développement. Le prochain grand avantage par rapport à OpenGL ES est la portabilité et la prise en charge multiplateforme. La nature d'ANGLE facilite le travail des développeurs de plates-formes et de jeux. La maintenance et la mise en œuvre d'ANGLE sont beaucoup plus faciles que les implémentations antérieures. OpenGL est tellement fragmenté que traquer les bogues et les corriger sur différents appareils est une tâche difficile pour les développeurs. La centralisation de tous les pilotes requis dans ANGLE signifie que les développeurs auront plus de facilité à les mettre en œuvre. Le développeur d'ANGLE, Jamie Madill, nous a confirmé que sur la plateforme Android, ANGLE recevra des mises à jour régulières via le Google Play Store. La mise à jour des pilotes via le marché propriétaire intégré est une bonne idée car l'utilisateur n'aura pas à mettre à jour l'ensemble du système à chaque mise à jour du pilote. De plus, les développeurs n'auraient pas besoin de modifier le code à chaque fois qu'ANGLE modifie quelque chose. Voici une vidéo expliquant comment ANGLE peut bénéficier au développement de jeux Android.
Comme vous pouvez le constater, ANGLE présente de nombreuses améliorations par rapport à l'OpenGL ES obsolète. La première version préliminaire pour les développeurs d'Android Q n'est pas si loin, nous pouvons donc attendre de voir comment ANGLE fonctionne dans la pratique. Selon cet engagement, les utilisateurs pourront forcer toutes les applications à fonctionner avec ANGLE à partir des options du développeur. Le support du moteur de rendu est déjà fusionné dans la branche Android Pie pour que les OEM puissent le tester. Vous pouvez suivre le développement d'ANGLE à partir du site Web et du référentiel GitHub ci-dessous.
Merci au membre senior XDA XxPixX pour le conseil !
Site Internet d'ANGLEDépôt GitHub