
Les API Vulkan sont des interfaces logicielles multiplateformes de bas niveau qui offrent des performances graphiques 3D plus élevées en raison de coûts inférieurs par rapport à d'autres API telles que OpenGL, en particulier avec des fonctions GPU spéciales (l'API convient également pour le rendu 2D). Avec une implémentation appropriée, Vulkan fournit "de l'augmentation de vitesse marginale à polynomiale par rapport à d'autres API sur le même équipement."
Le développeur du groupe Khronos a présenté l'API Vulkan lors de la conférence GDC 2015, et la première version a été publiée en février 2016. Initialement, l'API Vulkan était appelée "la prochaine génération d'OpenGL" ou simplement glNext, mais le nom a ensuite été changé en Vulkan.
Beaucoup attendaient avec impatience la sortie de cette technologie révolutionnaire, qui accélère considérablement les graphiques 3D et réduit la charge sur le processeur, comme Direct3D 12, Metal et Mantle. Mais le problème était que l'API Vulkan nécessitait beaucoup plus de travail de la part du développeur, tandis que les API de niveau supérieur comme OpenGL et DirectX 11 simplifiaient beaucoup de choses, telles que la gestion de la mémoire. Pour aider à travailler avec Vulkan, AMD a développé un wrapper et une couche d'abstraction V-EZ, et a maintenant publié le code source de cet outil sous la licence gratuite MIT (
référentiel GitHub ).
Initialement, V-EZ a été publié en mars 2018 avec des sources fermées, maintenant cette restriction a été supprimée.
API VulkanV-EZ est un niveau intermédiaire (middlware), qui prend de nombreuses fonctions auxiliaires pendant le développement, de sorte que le développeur n'a pas besoin de connaître immédiatement et de gérer manuellement toutes les subtilités de Vulkan, V-EZ fera lui-même beaucoup de choses. Le shell auxiliaire utilise la même sémantique que l'API Vulkan, c'est-à-dire qu'il peut être utilisé comme une sorte d'outil de formation. À partir de V-EZ, les développeurs peuvent progressivement s'y habituer - et éventuellement passer directement à Vulkan. Cela signifie également que dans de nombreux cas, la documentation Vulkan est applicable à V-EZ.
Avantages de Vulkan par rapport aux API de génération précédente:
- L'API Vulkan est bien adaptée aux cartes graphiques haut de gamme et aux équipements graphiques sur appareils mobiles.
- Contrairement à Direct3D 12, Vulkan est disponible dans de nombreux systèmes d'exploitation modernes, sans aucun système d'exploitation ni facteur de forme. Dès le début, les API Vulkan fonctionnent sur Android, Linux, Tizen, Windows 7, Windows 8 et Windows 10, il existe un support tiers pour iOS et macOS.
- Frais généraux du pilote réduits, charge CPU réduite.
- Réduire la charge sur le CPU grâce à l'utilisation du traitement par lots.
- Meilleure mise à l'échelle pour les processeurs multicœurs.
- OpenGL utilise le langage de haut niveau GLSL pour écrire des shaders, ce qui oblige chaque pilote OpenGL à implémenter son propre compilateur pour GLSL, qui s'exécute en runtime pour traduire les shaders de programme en code machine GPU. Au lieu de cela, les pilotes Vulkan devraient accepter les shaders déjà convertis au format binaire intermédiaire SPIR-V, similaire au format binaire dans lequel les shaders HLSL sont compilés dans Direct3D.
- Grâce à la compilation préalable des shaders, la vitesse d'initialisation des applications est augmentée, et pour chaque scène vous pouvez utiliser un plus grand nombre de shaders. Un pilote n'a besoin que d'une certaine optimisation du GPU et d'une génération de code, ce qui simplifie la maintenance du pilote et réduit sa taille.
- Gestion unifiée des cœurs de calcul et des shaders graphiques, éliminant le besoin d'utiliser une API informatique distincte en combinaison avec une API graphique.
Couche intermédiaire V-EZBien que le créateur de l'API Vulkan soit le groupe Khronos, la technologie est basée sur l'API Mantle, qu'AMD a donnée au groupe Khronos. L'idée était de créer une technologie plus avancée qui n'était pas liée à un fabricant spécifique, afin qu'elle puisse être adoptée en tant que norme industrielle généralement reconnue, comme OpenGL. Par conséquent, AMD aide maintenant à faire progresser l'API Vulkan et crée des outils de support tels que V-EZ.
Exigences d'installation pour V-EZ
- Windows 64 bits 7, 8.1, 10
- Linux 64 bits (testé sur Fedora et Ubuntu)
- Visual Studio 2015 ou version ultérieure
- GCC 4.9 ou version ultérieure
- CMake 3.8 ou version ultérieure
- LunarG Vulkan SDK 1.1.70
V-EZ n'est pas lié à un fournisseur spécifique et devrait fonctionner sur un équipement non AMD.
Les créateurs de V-EZ espèrent que la publication du code source sous licence libre contribuera à la plus grande popularité du shell V-EZ, et, par conséquent, de nouvelles interfaces de programmation de bas niveau. En retour, cela aidera les développeurs à adopter de nouvelles API, ce qui conduira à de meilleures performances de jeu et à plus de jeux multiplateformes.
Vulkan est actuellement pris en charge par un certain nombre de moteurs de jeu, notamment Source 2, Serious Engine 4, Unreal Engine 4, Torque 3D, id Tech 3, id Tech 4, id Tech 6, Xenko, Unity, CryEngine, Intrinsic, Unigine, Abyss Engine , Banshee 3D et Godot.