Nintendo a depuis quelques mois augmenté sa participation au sein du groupe Khronos, la société derrière l'API graphique Vulkan, successeur désigné d'OpenGL. La firme japonaise ne veut plus être en dehors des outils utilisés par les développeurs, notamment les API graphiques, et a redoublé d'efforts pour rendre son nouveau matériel compatible avec l'ensemble des standards, grandement aidé, il faut le reconnaître, par son partenariat avec Nvidia.
Avec son Tegra X1 de Nvidia au sein de sa Switch, on avait remarqué son intention d'utiliser Vulkan comme API graphique. Nous utiliserons certaines explications du site Frandroid, qui ont effectué un très bon travail de vulgarisation, pour mieux comprendre ce qu'est une API pour des personnes novices en programmation.
Qu'est-ce qu'une API et quel est l'intérêt de Vulkan ?
Pour faire simple, une API facilite la vie des développeurs en leur proposant des fonctionnalités prêtes à l’emploi qui effectuent des actions automatiques, beaucoup plus longues et difficiles à réaliser sans. Une API graphique est une interface de programmation spécifique, qui permet de créer des rendus 2D et 3D simplement et rapidement, en utilisant des fonctions prêtes à l’emploi qui seront traitées par la puce graphique, en passant par le pilote graphique qui traduira les fonctions en commandes à exécuter.
Ainsi, en utilisant une API graphique comme OpenGL, Vulkan, ou le bien connu DirectX sous Windows pour les possesseurs de PC, on peut créer des moteurs 3D tels Unreal Engine, Unity 3D... qui seront ensuite utilisés comme des solutions prêtes à l'emploi par les développeurs souhaitant créer des jeux.
Jusqu'à présent, il existait OpenGL, pour les ordinateurs, et OpenGL ES, une déclinaison mobile. Selon le produit que le développeur souhaitait développer, il lui fallait utiliser tantôt l'un, tantôt l'autre. L'intérêt de Vulkan est de s'affranchir de cette barrière et de proposer une seule version de l'API compatible pour toutes les plates-formes. Un véritable gain de temps ! Les modifications pour passer d'une version mobile à une version dite PC sont beaucoup plus rapides, ce qui a un impact dans la qualité et l'optimisation des moteurs 3D.
Quel est l'intérêt principal pour la Switch ?
La Switch est une console à la fois de salon et portable, avec une réduction de sa puissance dans ce dernier mode pour cause d'autonomie des batteries. Avoir donc un code le plus propre et le plus optimisé possible est donc d'un intérêt fondamental pour limiter des opérations de calculs inutiles, gourmandes en ressources.
Vulkan permet une hausse des performances car il accède moins fréquemment au pilote graphique, ce qui donne moins de latence et moins de charge processeur. Vulkan est une API de bas niveau et peut donc piloter directement le GPU (intéressant pour la gestion de la mémoire et des threads).
L'autre intérêt de Vulkan est sa meilleure performance dans le support des processeurs multicœurs, ce qui est très intéressant dans le cas de notre Tegra de Nvidia. L'API répartit mieux la charge, permet de conserver une bonne fluidité dans le cas d'images nécessitant l'affichage de centaines de milliers d'objets. On le comprend immédiatement, au regard de l'objectif attribué à la Switch, l'API Vulkan est ce qu'il y a de mieux actuellement pour permettre à Nintendo d'améliorer son ratio consommation/performances, tout particulièrement lorsque la console sera en mode mobile. Pour les personnes ayant besoin d'explications visuelles, le site Frandroid a réalisé une excellente vidéo expliquant clairement l'API graphique Vulkan.
La switch est conforme Vulkan 1.0
Khronos a annoncé la certification de la Switch le 18 décembre par rapport à Vulkan 1.0. Le système d'exploitation Nintendo OS (dont nous ne savons pas grand-chose pour le moment) prendra en charge l'interface Vulkan 1.0.1.0 CTS. L'OS reçoit également sa certification pour OpenGL 4.5 et OpenGL ES 3.2. Il n'est pas fait mention de conformité OpenCL ou d'autres API Khronos pour le moment pour la Switch. Ces certifications techniques sont des gages pour les développeurs comme nous l'avons vu ci-dessus. Tout ceci confirme que la Switch est taillée pour faciliter le travail de portage des développeurs et lui ouvre de bonnes opportunités de recevoir une large sélection de titres même si elle n'est pas un monstre de puissance à la base. Les développeurs ont donc le choix aujourd'hui, en développant sur la Switch, de choisir OpenGL ou Vulkan pour réaliser leurs travaux.
Mine de rien, la Switch est aujourd'hui la première console à être officiellement compatible avec Vulkan. L'API exploite mieux les ressources matérielles, afin d'accroître les performances, ce qui explique pourquoi la démo de Zelda nous a semblé bonne malgré le fait que la console soit utilisée en dehors de son dock.
Intéressant.
On est bon pour le portage switch de red Dead rédemption 2 l'année prochaine donc.
Très intéressant pour l'optimisation des futurs titres notamment en nomade, ce genre d'outils pourraient permettre de réduire l'écart entre le rendu portable et tv et limiter les portages dégueulasses.
Il me semble d'ailleurs que Vulkan a été utilisé pour Doom et le sera pour Wolfenstein.
Il n'y aura pas de miracle, ça reste un Tegra X1 sous cadencé
Le 07 février 2018 à 17:50:44 AimeNintendo a écrit :
Il n'y aura pas de miracle, ça reste un Tegra X1 sous cadencé
Comme l’ont été la PS4 et la X1 à leurs sorties ![]()
Chaque console est bridée en terme de puissance lors de sa première année de vie, donc attendons fin 2018 pour avoir une idée plus objective !
Nan vous attendez pas à des miracles hein...
Avec certains tu as l'impression que cava doubler la puissance de la console.
Le 07 février 2018 à 17:54:54 GamerEternal a écrit :
Le 07 février 2018 à 17:50:44 AimeNintendo a écrit :
Il n'y aura pas de miracle, ça reste un Tegra X1 sous cadencéComme l’ont été la PS4 et la X1 à leurs sorties
Chaque console est bridée en terme de puissance lors de sa première année de vie, donc attendons fin 2018 pour avoir une idée plus objective !
C'est toujours le cas avec la PS4 ou la X1 ![]()
Il n'y a rien qui a grandement amélioré les performances à part la Pro ou la X, mais ce sont des nouveaux modèles avec de nouvelles composantes
Débrider le hardware d'une machine c'est une utopie (coucou Directix le Gaulois et Claude sur One) mais tu peux donner aux développeurs des outils permettant de mieux optimiser la programmation de leurs jeux dans le but d'avoir de meilleurs rendus sur machine équivalente (car le code est plus épuré et optimisé, ce qui réduit le travail à fournir par la machine) et en l'occurrence cette info est intéressante.
Ah c'est vrai direct x ![]()
Donc bon on peut comparer cette news à direct x, ça ne fera pas de miracle
Le 07 février 2018 à 17:56:05 Maximation123 a écrit :
Nan vous attendez pas à des miracles hein...Avec certains tu as l'impression que cava doubler la puissance de la console.
Dans certains articles ils parlent d'un gain de puissance de 20 à 30%.
C'est bien beau de relayer toussa mais j'ai même en ayant tout lus, n'y connaissant que dalle en programmation... Ça veux dire quoi concrètement ? Est ce que la Switch pourrait faire tourner des jeux plus gourmand donc ? Mais quels genres de jeux plus exactement ? Si on prend des productions actuelles sur console de salon, est ce qu'elle pourrait réussir a mieux en faire tourner ou ce serais encore impossible ?
Parce-que la je suis complètement larguer et je n'hésite pas a le dire quitte a passer pour un teuber, mais j'aimerais des exemples concret qui me parlerais beaucoup plus, si possible, merci. x)
Le 07 février 2018 à 18:55:47 AimeNintendo a écrit :
Ah c'est vrai direct xDonc bon on peut comparer cette news à direct x, ça ne fera pas de miracle
Mais non pas du tout !
Intéressant mais y a juste le passage de la mention du Tegra X1 qui me fait rire à chaque fois
Ruca ![]()
Pour faire très simple, Vulkan va permettre d'alléger les calculs de la console grâce à l’optimisation ce qui libérera des ressources pour les dédier au jeu.
Apparemment il se dit que ça va apporter environ 20% de puissance supplémentaire, ce qui est énorme si on l’ajoute à une bonne optimisation du jeu.
Le 07 février 2018 à 19:20:47 kolya a écrit :
Le 07 février 2018 à 17:56:05 Maximation123 a écrit :
Nan vous attendez pas à des miracles hein...Avec certains tu as l'impression que cava doubler la puissance de la console.
Dans certains articles ils parlent d'un gain de puissance de 20 à 30%.
Ils disent toujours ça ![]()
Surtout que l'api d'une console est déjà "low level" comme ils disent, le gain sera absent. Sur PC ça peut apporter un gain mais c'est pas le cas ici.
La différence peut toutefois résider dans la facilité de programmation, mais c'est pas mal tout.
Par la suite ils pourront nous laisser le choix de " débrider " ou non notre Switch quand on joue en portable, genre avoir le choix entre un mode autonomie et un mode performance ou elle tournerait à pleine puissance comme sur le dock, c'est une idée non ? ![]()
Vulcan a les mêmes intérêts pour la switch, le pc et les smartphones.
L'API permet un codage largement plus facile pour les développeurs qui n'ont pas les moyens de coder où d'intervenir sur des APIs a la fois plus compliquées et différentes.
Là on peut coder avec le même matos sue smartphone, pc et switch et investir de la r&d une seule. C'est surtout pour favoriser les titres indés, les petites équipes qui hésitent à passer au smartphone ou tout simplement rendre un jeu financièrement plus interessant car facilement portable entre les 3 plateformes.
Cela va aider tout les titres non AAA qui ont pas les moyens de se payer une optimisaton low level aux petits ognions, de permettre le développement de plus de jeux car financièrement moins risqués et plus rentables (car multiplateforme).
Par exemple cela pourrait aider les projets d'auto-édition de platinum ou ceux de AA plus rentable de SE ou bien encore le portage plus facile de civ 6/grid sur switch (si les devs se donnent la peine de coder en vulcan et non en metal l'api IOS)
Le 07 février 2018 à 20:12:11 Angelus513 a écrit :
Vulcan a les mêmes intérêts pour la switch, le pc et les smartphones.L'API permet un codage largement plus facile pour les développeurs qui n'ont pas les moyens de coder où d'intervenir sur des APIs a la fois plus compliquées et différentes.
Là on peut coder avec le même matos sue smartphone, pc et switch et investir de la r&d une seule. C'est surtout pour favoriser les titres indés, les petites équipes qui hésitent à passer au smartphone ou tout simplement rendre un jeu financièrement plus interessant car facilement portable entre les 3 plateformes.
Cela va aider tout les titres non AAA qui ont pas les moyens de se payer une optimisaton low level aux petits ognions, de permettre le développement de plus de jeux car financièrement moins risqués et plus rentables (car multiplateforme).
Par exemple cela pourrait aider les projets d'auto-édition de platinum ou ceux de AA plus rentable de SE ou bien encore le portage plus facile de civ 6/grid sur switch (si les devs se donnent la peine de coder en vulcan et non en metal l'api IOS)
Oui mais ça sera bénéfique aussi pour les AAA donc ça reste très positif pour l’avenir du catalogue de la Switch ![]()