Avec chaque nouvelle génération de cartes graphiques, nous voyons les développeurs de jeux repousser les limites de la fidélité graphique et se rapprocher du photoréalisme. Mais malgré tous les crédits que le matériel obtient pour les avancées de la technologie graphique, rien de ce que nous avons vu jusqu'à présent n'aurait été possible sans des avancées logicielles tout aussi révolutionnaires. Et peut-être que l'avancée logicielle la plus importante de cette génération est le lancement du Vulkan 1.0 spécification.
Qu'est-ce que Vulkan?
« Vulkan est une API graphique et de calcul de nouvelle génération qui fournit un accès multiplateforme haute efficacité aux GPU modernes utilisés dans une grande variété d'appareils, des PC et consoles aux téléphones mobiles et aux plates-formes embarquées », décrit cette nouvelle API, son principal développeur, consortium technologique à but non lucratif Khronos Group, sur son site officiel.
Le groupe Khronos a annoncé Vulkan pour la première fois lors de la Game Developers Conference en 2015, mais la base technologique sur laquelle se trouve Vulkan remonte à 2013, lorsque AMD a initialement développé Mantle, une API de rendu à faible coût ciblant les jeux vidéo 3D, en coopération avec DICE et a fait un don au groupe Khronos pour lancer le développement de Vulkan.
Vulkan est souvent appelé "un successeur spirituel d'OpenGL" même si sa philosophie est très différente. OpenGL et d'autres API graphiques plus anciennes ont été conçues à l'époque où le photoréalisme était encore un rêve lointain, et les processeurs et GPU monocœur représentaient la pointe de la technologie. Au fur et à mesure que le matériel s'améliorait, OpenGL et ses équivalents ont été étendus à de nombreuses reprises, leur permettant de fonctionner sur du matériel moderne ainsi que sur du matériel désormais essentiellement obsolète.
« Le coût de cette approche est que le comportement des GPU modernes est tellement abstrait par l'API qu'il est difficile pour l'application et le pilote de connaître les besoins de l'autre. Le résultat est une performance imprévisible pour l'application et une complexité considérable dans le pilote, car chaque fournisseur applique différentes optimisations de pilote pour tenter de faire fonctionner le logiciel rapidement », explique Samsung.
Selon Robert Hallock, responsable du marketing technique mondial d'AMD, la société souhaitait amener OpenGL, une interface de programmation d'applications de haut niveau, multilingue et multiplateforme pour le rendu des graphiques 2D et 3D à une approche à faible coût. En tant qu'« API explicite », Vulkan élimine le besoin de pilotes complexes et transfère le contrôle aux développeurs de logiciels et aux applications et jeux qu'ils créent. Ceci, à son tour, signifie de meilleurs graphismes, de meilleurs jeux en cours d'exécution et des temps de développement plus courts.
Comment ça marche?
Contrairement aux anciennes API telles que DirectX 11 et OpenGL susmentionné, qui automatisent l'allocation de mémoire, la construction de tampons de commandes 3D et d'autres processus sur le GPU, Vulkan rapproche beaucoup les développeurs de logiciels du matériel nu, leur donnant plus de contrôle sur les performances, l'efficacité, et les capacités de leurs produits logiciels.
Hallock a déclaré que les développeurs « voulaient vraiment, vraiment avoir le contrôle », et c'est exactement ce que Vulkan offre : contrôle et précision. Étant donné que Vulkan est destiné à prendre en charge le matériel graphique actuel, il utilise mieux les GPU multicœurs et réduit les goulots d'étranglement du processeur. Et contrairement à DirectX 12, qui a été annoncé par Microsoft à GDC en 2014, Vulkan est indépendant de la plate-forme, ce qui signifie qu'il peut fonctionner sur tout, des ordinateurs personnels aux consoles en passant par les smartphones, quel que soit le système d'exploitation.
Qu'est-ce que cela signifie pour les utilisateurs de Linux?
Jusqu'à l'arrivée de Vulkan, le nombre de jeux dont les utilisateurs de Linux pouvaient profiter était assez limité car la plupart des développeurs de jeux s'appuyaient sur DirectX, qui n'est pas disponible sur Linux. Grâce à Vulkan, le nombre de jeux AAA disponibles sur Linux augmente rapidement, et les dérivés de Linux tels que SteamOS de Valve, un système d'exploitation Linux basé sur Debian de Valve Corporation, sont devenus des alternatives viables aux consoles traditionnelles telles que Xbox ou PlayStation.
Pour profiter de Vulkan sur Linux, il est nécessaire de posséder une carte graphique prenant en charge cette nouvelle API, et il est également nécessaire d'avoir des pilotes graphiques à jour installés et correctement configurés. À l'heure actuelle, Steam offre de loin le moyen le plus pratique d'essayer des jeux basés sur Vulkan, tels que The Talos Principle, Doom, Mad Max ou Wolfenstein II: The New Colossus.
Selon les tests de Phoronix, Vulkan permet une utilisation du processeur inférieure à celle d'OpenGL sur les processeurs Intel Coffeelake, du bas de gamme au haut de gamme, ainsi que sur les processeurs Ryzen d'AMD. L'utilisation inférieure du processeur et la prise en charge de Linux signifient que les joueurs soucieux de leur budget peuvent économiser une somme d'argent substantielle en achetant un processeur moins cher et en ne payant pas pour une licence Windows.
Que signifie Vulkan pour l'écosystème du jeu?
« Pour les développeurs d'applications premium, qui passent plus de temps à optimiser leur logiciel pour la portabilité et les performances qu'à la création de contenu de base, Vulkan devrait réduire le temps de développement global et améliorer l'expérience client. En conférant plus de contrôle à l'application, Vulkan réduit la quantité totale de travail que le processeur doit effectuer et permet aux développeurs d'applications de mieux contrôler la manière dont ce travail se déroule », déclare Samsung.
On a beaucoup parlé ces derniers temps du coût croissant du développement de jeux et des différentes manières dont les éditeurs tentent de le compenser, par exemple en ajoutant des bonus de précommande et des microtransactions. Même si Vulkan seul n'est pas suffisant pour récupérer l'augmentation des coûts de développement, cela pourrait permettre aux développeurs indépendants de nous offrir plus d'expériences AAA sans prix AAA, comme l'action-aventure d'horreur psychologique cinématographique Hellblade: Senua's Sacrifice, acclamée par la critique.
Le plus grand degré de contrôle que Vulkan offre aux développeurs sur le traitement graphique en fait un outil idéal pour la réalité virtuelle, où une faible latence et des fréquences d'images élevées sont essentielles pour obtenir une immersion sans se sentir physiquement malade. En fait, le groupe Khronos a ajouté Vulkan Multi-GPU et Virtual Reality Support à l'API Vulkan plus tôt cette année, faisant un pas supplémentaire vers 16 000 x 16 000 pixels par œil à 200 images par seconde, que beaucoup considèrent comme l'objectif ultime du virtuel. réalité.
Conclusion
Vulcan est un grand pas en avant pour les utilisateurs de Linux qui s'intéressent aux jeux sur ordinateur, et c'est aussi un grand pas en avant pour l'ensemble de l'écosystème du jeu, permettant aux développeurs de jeux de créer des jeux mieux optimisés en moins de temps. Mieux encore, vous pouvez essayer Vulcan dès maintenant - tout ce dont vous avez besoin est Steam et une carte graphique compatible Vulcan.