Si vous avez du mal avec le terme API, vous pouvez jeter un œil à l’article d’hier consacré à l’arrivée d’Open GL ES 3.2 sous Android, une API graphique éditée par le Kronos Group, un consortium industriel qui regroupe près de 100 entreprises du secteur. Si Open GL ES 3.2 semble prêt pour arriver en même temps qu’Android M, ce n’est pas le cas de Vulkan, la future API du Kronos Group qui a profité du SIGGRAPH 2015 pour dévoiler quelques détails à son sujet. La nouvelle API a en effet été développée de manière totalement différente d’Open GL ES, en se basant sur l’API Mantle d’AMD. Le but est d’augmenter les performances du couple processeur – puce graphique dans les jeux, ou du moins d’augmenter l’efficacité énergétique des appareils.
Une API davantage tournée vers le multitâche
Les API graphiques classiques comme Open GL ou DirectX ont été pensés bien avant l’avènement des processeurs multi-cœurs et du multithreading (plus de détails dans notre dossier dédié aux CPU multi-cœurs sous Android). Quand le moteur graphique d’un jeu a besoin de réaliser un rendu, il doit communiquer avec la puce graphique via l’API puis les pilotes. Avec Vulkan, l’idée est de réduire au maximum le besoin d’avoir recours au pilote. C’est pour cette raison qu’on dit que l’API est de type bas niveau : les développeurs ont davantage accès de manière directe au GPU. La conséquence, c’est une réduction de la charge processeur pour un même type de rendu, puisque l’appel au pilote fait travailler le processeur dans le cas d’une API classique et fait perdre énormément de temps, induisant une latence. Deux inconvénients qui mènent à des performances dégradées lorsqu’une scène est chargée de multiples rendus en temps réel. Avec Vulkan, les verrous sautent.
Augmenter les performances ou réduire la consommation
Grâce à Vulkan, les développeurs pourront créer des scènes très chargées en rendus sans avoir un impact trop négatif sur les performances. Dans le cas où une scène n’est pas trop chargée, Vulkan apportera également des améliorations. En effet, puisque le processeur sera moins sollicité, la consommation énergétique du terminal diminuera. Vulkan est donc une bonne nouvelle pour l’autonomie de nos smartphones, mais également pour les développeurs qui pourront réaliser des jeux plus réalistes et plus beaux, sans avoir peur que leur titre tourne sous la barre fatidique des 60 FPS. On a un exemple ci-dessous, entre une scène rendue en mode Open GL ES 3.0 puis avec Vulkan, sous Android. La différence est bluffante, même si la scène choisie est un peu trop chargée par rapport à de véritables titres.
Une version unifiée mobile / desktop
Bonne nouvelle aussi : il existera une seule version de Vulkan, pour les appareils mobiles et pour les ordinateurs. À ce titre, le Kronos Group a annoncé que chaque plateforme (Android, SteamOS, Linux et Windows) supportera les fonctionnalités décidées par son propriétaire. Il est donc probable qu’Android ne supportera pas l’ensemble des fonctionnalités de Vulkan. Les développeurs indiqueront ensuite les fonctionnalités prises en charge par leur jeu. Si une fonctionnalité non prise en charge par une plateforme est utilisée par un développeur, on imagine que le titre pourra tourner sur cette plateforme, mais de manière dégradée.
Vulkan serait prêt d’ici la fin de l’année, mais on a des doutes que l’API puisse arriver à temps pour Android M puisque les constructeurs de matériel doivent réaliser des tests de conformité. On sait seulement que les puces compatibles Open GL ES 3.1 supporteront Vulkan. C’est déjà une belle base de travail. De son côté, Tim Sweeney a annoncé sur Twitter le début du développement du moteur Unreal Engine 4 pour Vulkan sous Android.
Des invités passionnants et des sujets palpitants ! Notre émission UNLOCK est à retrouver un jeudi sur deux en direct, de 17 à 19h sur Twitch. Pensez aussi aux rediffusions sur YouTube !
C'est exactement cela. Mais en choisissant de faire sa propre version, Apple nous casse les pieds comme Microsoft nous cassait les pieds avec Direct3D. A croire que les standards sont faits pour ne pas être respectés.
"pour les appareils mobiles et pour les ordinateurs" Kronos va fonctionner sur des appareils mobiles qui ne sont pas des ordinateurs ? Si oui, lesquels ? "chaque plateforme (Android, SteamOS, Linux et Windows)" Linux est juste un noyau, Android est basé sur Linux, SteamOS est basé sur Debian GNU/Linux donc sur Linux...
Ca risque d'envoyer du lourd sur une prochaine console / tablette NVIDIA. En tout cas très bonne nouvelle. Vive le progrès.
Oui, Vulkan permet de plus facilement utiliser l'ensemble des CPU ;)
L'intérêt de Vulkan est de zéro si de toute façon le GPU est limité par le bus mémoire... Encore plus si tu dois désactiver des options. Pour les PC je dis pas, mais sur les téléphones et même sans vouloir faire des "gros jeux", c'est pas rare de voir les performances baisser à cause de la mémoire... Les constructeurs veulent avec des beaux chiffres pour attirer (Octo-coeur, OpenGL3, etc.) et faire des économies... la mémoire est trop souvent sacrifié...
Oh la belle reponse à "Metal" ?
en meme temps si tu veux jouer a des bons jeux, il faut du bon matos, apres si tu peux retirer des options pour que sa tourne mieux sa sera toujours mieux avec vulkan que opengl ES .... c'est la meme dans les PC
Bon tout ça c'est cool pour le futurs des devices et jeux sous Android. Dans un monde idéal... Il y a tout a craindre que sur un bon nombre de device ce soit encore les bus mémoires qui saturent... (j'exclus tout les haut de gamme à plus de 500 ou 600€) En fait c'est déjà le cas sur un paquet de téléphone, les performances graphiques sont ralenties principalement à cause des transferts mémoires...
c'est moi ou dans la video avec opengl ya presque tout le temps 2 CPU qui foutent rien ... alors que sur vulkan des que ca se corse les 4 CPU tournent :)
Ce contenu est bloqué car vous n'avez pas accepté les cookies et autres traceurs. Ce contenu est fourni par Disqus.
Pour pouvoir le visualiser, vous devez accepter l'usage étant opéré par Disqus avec vos données qui pourront être utilisées pour les finalités suivantes : vous permettre de visualiser et de partager des contenus avec des médias sociaux, favoriser le développement et l'amélioration des produits d'Humanoid et de ses partenaires, vous afficher des publicités personnalisées par rapport à votre profil et activité, vous définir un profil publicitaire personnalisé, mesurer la performance des publicités et du contenu de ce site et mesurer l'audience de ce site (en savoir plus)
En cliquant sur « J’accepte tout », vous consentez aux finalités susmentionnées pour l’ensemble des cookies et autres traceurs déposés par Humanoid et ses partenaires.
Vous gardez la possibilité de retirer votre consentement à tout moment. Pour plus d’informations, nous vous invitons à prendre connaissance de notre Politique cookies.
Gérer mes choix