DirectX 12 vs Vulkan
06/03/2016 by MrOut - La guerre des API
Dans le monde de l'assemblage de polygones en trois dimensions, les interfaces de programmations (API) ont une importance prépondérante sur les possibilités offertes aux développeurs pour tirer un maximum d'efficacité du matériel utilisé. C'est à partir de cette année 2016 que la situation devrait drastiquement évoluer avec l'arrivée de DirectX12 et de Vulkan: deux API prometteuses avec une approche considérablement éloigné l'une de l'autre. Le nerf de la guerre se trouve dans cette vision.
D'un côté Microsoft, de l'autre le consortium Khronos.
DirectX est une API propriétaire de la corporation de Redmond, tandis que Vulkan, la descendance d'OpenGL, est né du consortium Khronos qui regroupe un bon paquet d'entreprises (AMD, ARM, Blizzard, Pixar, Unity, Valve, Epic Games, Electronic Arts, Intel et bien d'autres). L'API de Microsoft n'est utilisable que sur des systèmes d'exploitation Windows tandis que Vulkan se veut multiplateforme (Windows, Linux, Android, iOS, Mac).
Dans sa version 12, DirectX fonctionne uniquement avec Windows 10 dans ses déclinaisons ordinateur, mobile et console, ce qui limite de façon considérable son potentiel parc d'utilisation. En opposition, Vulkan se veut nettement plus fédérateur que son opposant. Un point faible de la solution de Microsoft réside dans sa licence d'utilisation de type EULA ou CLUF (Contrat de Licence Utilisateur Finale). A l'instar de Windows, une utilisation sur un poste représente une licence à acheter, et donc des coûts supplémentaires, là où Vulkan est sous licence OPL ou LPL ( Licence Publication Libre). Du point de vue du développeur ou de l'éditeur, cela représente un poids dans son budget. Si des studios de grandes envergures peuvent absorber ce genre de coût, ce n'est pas toujours évident pour des structures plus petites, notamment parmi les développeurs indépendants.
Des avancées technologiques majeures.
DirectX 12 et Vulkan se rejoignent sur les avancées majeures qu'ils proposent respectivement dans leurs solutions:
•Une gestion optimisée du multiprocesseur
•Une gestion mémoire par le CPU amélioré
•Un accès bas niveau aux ressources du GPU
•Une consommation énergétique réduite
•Un gain important de performance globale à matériel égal
L'aspect multiplateforme et propriétaire de ses solutions représentent simultanément leur principal avantage et leur principal inconvénient: si la solution propriétaire de Microsoft peut être utilisée sur un parc moins important de machine à cause des restrictions citées précédemment, c'est également bien plus "facile" de développer une solution qui se limite à un cahier des charges restreint. Tandis que si Vulkan peut fonctionner théoriquement partout, développer une API qui se veut éclectique représente un challenge bien plus important, techniquement parlant.
Une comparaison avec iOS et Android
On peut faire une analogie avec iOS et Android. Là ou iOS peut sembler (j'insiste sur l'aspect aléatoire) plus performant que son concurrent, il ne faut pas perdre de vue que iOS ne fonctionne que sur un parc restreint de téléphone (12 pour être exacte) là où Android fonctionne sur des centaines voir des milliers de téléphones. D'un point de vue gestion des mises à jours, il est naturellement plus simple de gérer un parc de machine comportant une dizaine de modèles que plusieurs centaines.
Le problème est similaire avec DirectX 12 et Vulkan. En règle générale, la solution de Microsoft a tendance à proposer des performances supérieurs à son homologue OpenGL (l'ancêtre de Vulkan). On ne parle pas d'une différence majeure de performance, sauf quelques cas exceptionnels, mais cette différence s'explique en partie par la diversité supporté par l'un qui ne l'est pas par l'autre.
Les deux écoles proposent de belle performance
Au final, ce seront les développeurs qui feront la différence. Mais on sait déjà que quel que soit la solution utilisée, les rendus graphiques de l'avenir sont prometteurs:
Au final, que ce soit avec DirectX ou Vulkan, le grand gagnant sera l'utilisateur qui verra les performances de son matériel gérer au mieux. Cela promet un bon graphique important dans les années à venir, le temps que ces solutions soient domptées par les développeurs.
Documentaires sur le jeu vidéoLa Politique dans le Jeu Video