Anonim

Regardons les choses en face: DirectX 11 et OpenGL vieillissent un peu. DirectX 11 a été introduit avec Windows 7 en 2009 et OpenGL 4.0 a suivi un an plus tard. Au cours des années logicielles, ces technologies sont maintenant anciennes et la récolte actuelle de matériel qu'elles utilisaient n'était même pas en cours d'élaboration lorsque ces API graphiques ont été publiées. Compte tenu de cette déconnexion évidente, que fait l'industrie pour s'adapter à la situation actuelle? Eh bien, nous allons jeter un coup d'oeil sur l'avenir proche et voir, mais pour commencer, commençons par expliquer ce qu'est une API et quelle fonction elle remplit pour les jeux.

Qu'est-ce qu'une API?

Une API ou une interface de programmation d'application est un ensemble de protocoles et d'outils utilisés pour créer un logiciel. Les API graphiques ne sont en réalité qu'une API spécialisée conçue pour faciliter la génération de graphiques 3D. Les API graphiques facilitent la construction d’images 3D, mais vous permettent également de dire à l’API de faire quelque chose (par exemple, tracer un rectangle) et de laisser l’API ensuite communiquer avec le matériel sur la manière de s’acquitter de cette tâche. C'est la raison principale pour laquelle tant de GPU différents avec du matériel spécialisé peuvent tous exécuter les mêmes jeux. Sans l'existence d'une API, le même jeu devrait être écrit de différentes manières pour communiquer avec chaque ensemble de matériel spécifique. Cela limiterait sévèrement la fabrication de matériel informatique et augmenterait considérablement le coût de la construction de jeux, coût qui serait finalement répercuté sur le consommateur final.

Pour rendre l'explication un peu plus facile à comprendre, je vais utiliser une analogie: Pensez à une API en tant que gestionnaire de chantier. Son travail consiste à comprendre l’idée de l’architecte et à la décomposer, à planifier ce que les équipes doivent être où et quand et à s’assurer que tout le monde est au même niveau sur ce qui doit être fait.

Figure 1: Représentation graphique du fonctionnement d'une API

API graphiques actuellement utilisées

Maintenant que nous comprenons le travail d'une API graphique, examinons de plus près la gamme actuelle. Le principal acteur du marché aujourd'hui est le DirectX de Microsoft, qui a été introduit jusqu'en 1995. Il a été mis à jour plusieurs fois depuis sa publication et est inclus dans le système d'exploitation Windows de Microsoft. DirectX est l’API graphique supportée par pratiquement tous les jeux publiés sur PC. En fait, il est si courant qu’il s’agisse de la norme actuelle pour les jeux sur PC. DirectX est exclusif aux produits Windows et Microsoft, ce qui en fait malheureusement un système très fermé. OpenGL, la seule grande API graphique open source, est la suivante. OpenGL a été publié en 1992 et est multi-plateforme, ce qui signifie qu'il fonctionne avec plusieurs systèmes d'exploitation, notamment Windows, Linux et Mac OS. Enfin, nous avons la dernière API graphique, Mantle. Mantle a été développé en 2013 grâce à un partenariat entre AMD et Dice. Mantle est disponible sous Windows et uniquement pour les processeurs graphiques AMD.

Figure 2: Comparaison de DirectX 12 et de DirectX 11
Source de l'image; Crédit Images: Intel

DirectX 12

DirectX 12 devrait sortir sous Windows 10 cet automne et de nombreuses améliorations ont été annoncées. L'une des améliorations majeures est la prise en charge multi-threading. Une plus grande partie du travail est répartie sur plusieurs cœurs du processeur, ce qui permet une utilisation bien meilleure et plus efficace du processeur. Plusieurs fois, DirectX 11 n'aura qu'un seul cœur de processeur complètement saturé tandis que les autres cœurs resteront presque inactifs. DirectX 12 promet de répartir cette charge de travail sur les cœurs de processeur de manière plus uniforme, ce qui donnera aux jeux beaucoup plus de puissance de calcul. La prochaine grande amélioration promise par DirectX 12 est la capacité de gérer de nombreux autres appels de tirage. Un appel de tirage a lieu chaque fois que le moteur de jeu veut dessiner quelque chose à l'écran. L'exigence de nombreux appels de tirage est généralement très éprouvante pour la CPU. DirectX 12 est supposé pouvoir traiter jusqu'à 600 000 appels de tirage. Pour mettre cela en perspective, DirectX 9 ne pouvait traiter que 6 000 appels de tirage au sort, soit un centième de ce que DirectX 12 sera capable de faire.

Cela fait des années que plusieurs GPU en mode SLI / Crossfire sont possibles. Cependant, l’une des principales limites était que la mémoire VRAM intégrée aux cartes ne s’empilait pas pour constituer un grand pool continu. Par exemple, si vous avez deux GPU chacun avec 2 Go de VRAM, vous n’avez toujours que 2 Go de VRAM, car chaque carte devait contenir les mêmes informations. DirectX 12 espère résoudre ce problème en utilisant AFR ou un rendu de trame alternatif. Au lieu de chaque partie de rendu GPU de chaque image, les GPU vont maintenant rendre une image entière chacune. Cela permettra d'utiliser indépendamment la VRAM de chaque carte et, espérons-le, de permettre aux cartes contenant de plus petites quantités de VRAM de rester viables pour les jeux pendant un bon bout de temps. DirectX 12 devrait inclure de nombreuses autres fonctionnalités nouvelles pour pousser les graphiques de jeu plus loin que jamais. Cependant, Microsoft est toujours assez silencieux quant à la nature de ces nouvelles fonctionnalités. Espérons que nous en saurons plus à leur sujet prochainement à mesure que la publication de l'API se rapprochera.

Figure 3: La surcharge de l'API DirectX 12 est réduite lorsque vous utilisez des CPU multicœurs.
Source de l'image; Crédit d'image: nVidia GeForce

Vulkan

On sait moins sur Vulkan que sur DirectX 12, comme cela vient d’être annoncé à la GDC 2015. Ce que nous savons, c’est que les fabricants d’OpenGL, le groupe Khronos, ont abandonné le nom glNext en faveur de Vulkan. Vulkan semble être dérivé de Mantle, que j'ai mentionné plus tôt dans l'article. En outre, il semblerait qu'AMD apporte les meilleurs éléments de Mantle à la table de Vulkan dans le cadre d'un partenariat avec le groupe Khronos. Vulkan est supposé avoir plusieurs des mêmes avantages de DirectX 12, mais il n’est pas lié à une plate-forme unique telle que Windows. Au lieu de cela, il sera disponible sur de nombreuses plates-formes différentes, y compris Linux et même des appareils mobiles. Les pilotes Vulkan pour Windows et Linux seront complètement ouverts, contrairement à DirectX. Vulkan améliorera le multi-threading et optimisera donc l'utilisation de la puissance du processeur disponible aujourd'hui en répartissant la charge de travail sur plusieurs cœurs de processeur. Comme mentionné précédemment, la réduction de la charge du processeur évitera les goulots d'étranglement des GPU aussi facilement qu'ils le sont maintenant. Cela devrait fournir un boost de framerate assez important pendant les jeux. La source 2, récemment annoncée par Valve, sera le premier nouveau moteur de jeu à supporter pleinement Vulkan, même si je suis sûr que beaucoup d’autres seront annoncés dans un proche avenir. Dota 2, un jeu réputé pour sa consommation intensive de ressources en processeur, s'exécutait sous Source 2 avec la nouvelle API Vulkan utilisant les graphiques intégrés d'Intel sur le processeur. C’est quelque chose qui n’aurait certainement pas été souhaitable sous DirectX 11, mais avec Vulkan, le jeu semblait conserver une cadence d’affichage raisonnable. Dan Baker, développeur des jeux Oxide, est même allé jusqu'à dire que «tant que les fabricants de GPU ne se sont pas organisés et que les GPU ne sont pas plus rapides que maintenant, nous ne pouvons pas utiliser le processeur au maximum». C'est une bonne nouvelle pour les utilisateurs de processeurs plus lents ou disposant de beaucoup de puissance de processeur graphique, car cela signifie que de meilleures performances peuvent être atteintes avec le même matériel.

Figure 4: Diagramme illustrant les avantages de Vulkan (réduction du goulot d’étranglement au niveau du processeur graphique).
Source de l'image; Crédit d'image: Khronos

Qu'est-ce que cela signifie pour l'avenir du jeu?

Depuis longtemps déjà, l’alimentation du processeur graphique augmente beaucoup plus rapidement que celle du processeur. Il y a cinq ans, Intel avait même déclaré que certains GPU étaient 14 fois plus rapides que leurs propres processeurs. Ces tests ont été réalisés avec un processeur nVidia GTX 280 et un processeur Intel i7 960, désormais considéré comme un matériel relativement obsolète. L’écart entre un nVidia GTX Titan X (ou même un nVidia GTX 980) et le puissant processeur grand public actuel - le processeur Intel i7-4790k - devrait être beaucoup plus grand. Ce que j'essaie de dire, c’est que nous commençons à voir de plus en plus de jeux battre des records de performances à cause du processeur. Demandez à tous ceux qui possèdent un moniteur de taux de rafraîchissement élevé combien il est difficile de maintenir plus de 100 i / s avec le processeur actuel de certains jeux. Franchement, cela deviendrait encore plus difficile sans ces nouvelles API et leur capacité à utiliser plus efficacement la puissance du processeur. L'introduction de ces nouvelles API pourrait représenter une avancée considérable en termes de performances pour la plupart des utilisateurs. En outre, cela permettrait également aux développeurs de créer beaucoup plus de jeux gourmands en ressources processeur que ceux dont nous disposons actuellement. Par exemple, imaginez un jeu comme Assasins Creed ayant plusieurs milliers de NPC à la fois, interagissant les uns avec les autres et avec votre personnage pendant que vous parcourez une ville. Ou des jeux comme Star Citizen, où vous avez besoin d’un processeur très puissant pour obtenir une fréquence d’image stable et acceptable, pourraient nécessiter dans le proche avenir un processeur moyen au mieux et un processeur graphique puissant pour conserver une belle cadence à 60 images par seconde.

En fin de compte, c’est une période très excitante pour les joueurs. Lorsque ces nouvelles API graphiques seront publiées, il se pourrait que nous assistions au plus grand saut dans la technologie de jeu depuis longtemps. Espérons simplement que ces API peuvent être à la hauteur du battage médiatique qu'elles ont déjà construit.

Les nouvelles applications graphiques et l'avenir du jeu sur ordinateur