DirectX est un ensemble d’API, ou d’interfaces de programmation d’applications, utilisées par les logiciels pour restituer du contenu multimédia et communiquer avec le matériel graphique. L’API de composant principal de DirectX, Direct3D, gère les communications entre le logiciel et le matériel graphique. Parce que tout le matériel est différent, l’utilisation d’une bibliothèque standardisée de fonctions et d’appels pour communiquer avec votre carte graphique accélère le développement de jeux. C’est ce qu’on appelle l’abstraction matérielle, et c’est le travail principal de l’API.
Pensez aux voitures : si vous pouvez conduire une voiture, vous pouvez pratiquement toutes les conduire. Les pédales d’accélérateur et de frein sont au même endroit, le volant tourne dans le même sens et les portes s’ouvrent vers l’extérieur. Il peut y avoir quelques différences mineures dans les fonctionnalités non critiques comme la radio, mais dans l’ensemble, vous savez à quoi vous attendre. DirectX et Direct3D sont comme ça, permettant aux développeurs de s’interfacer avec une large gamme de matériel en utilisant les mêmes outils. Et comme la plupart des développeurs de jeux utilisent la bibliothèque standard de Direct3D, toute modification de l’API peut avoir un impact sur les joueurs et les codeurs.
Contenu
Quoi de neuf dans DirectX 12 ?
Chaque mise à jour majeure de DirectX et Direct3D apporte de nouvelles fonctionnalités et développements. Direct3D 12, cependant, a apporté des changements particulièrement importants. En fait, cela pourrait inaugurer un nouveau domaine d’API graphiques de bas niveau qui changera la façon dont les jeux sont développés.
Abstraction matérielle de niveau inférieur
DirectX 12 permet désormais aux développeurs de se rapprocher du « métal » du matériel graphique de leurs utilisateurs, en leur donnant accès à des fonctionnalités auparavant indisponibles pour les développeurs. L’exposition du matériel de niveau inférieur signifie que les développeurs qualifiés peuvent écrire un code plus efficace qui s’exécute plus rapidement. Plus précisément, les développeurs peuvent améliorer l’optimisation avec des performances multithread plus rapides et une utilisation plus efficace du processeur. Cela pourrait potentiellement permettre des optimisations de bas niveau similaires à celles que nous voyons dans les jeux sur console où les jeux sont réglés pour du matériel de milieu de gamme extrêmement spécifique, recherchant des performances qui seraient impossibles sans de telles optimisations hyper-spécifiques.
Auparavant, DirectX 11 n’offrait qu’un niveau d’abstraction matérielle assez élevé, ce qui simplifie grandement le processus de codage. En fait, c’est toute l’idée derrière ce qui rend les API matérielles si puissantes. Mais cela signifiait également que les opportunités de réglage fin du code par rapport à des fonctionnalités matérielles spécifiques étaient moins fréquentes. Le blog des développeurs de Microsoft fournit d’excellentes informations sur la manière exacte dont DirectX 12 y parvient.
Performances multicœurs améliorées
Au cours des dernières années, les joueurs ont fini par accepter que les processeurs multicœurs ne sont pas aussi utiles pour les jeux. Les jeux reposent plutôt sur des performances rapides à un seul thread. Cela se produit en partie parce que DirectX 11 ne permet pas autant de parallélisation. Plusieurs threads CPU peuvent soumettre des commandes de dessin simultanément. Cependant, ils seront toujours traités dans une file d’attente, un à la fois. DirectX 12 lève cette limitation, permettant aux processeurs multicœurs d’envoyer des instructions simultanées au GPU, ouvrant la porte à de meilleures performances sur les processeurs multicœurs.
Réduction des frais généraux d’appel de tirage
Sous DirectX 11, une partie importante de la puissance du processeur est consacrée à l’interprétation des instructions de l’API plutôt qu’à l’exécution du code du jeu. DirectX 12 réduit la surcharge de l’API, libérant des ressources de calcul pour exécuter le code du jeu. Cela signifie que les jeux limités en CPU pourraient voir de meilleures performances, car leur puissance CPU est libérée pour gérer le code du jeu. La plupart des jeux ne sont pas limités en CPU aujourd’hui, mais il est possible que les nouveaux jeux poussent plus loin cette enveloppe.
Multiadaptateur explicite
DirectX 12 a le pouvoir de combiner plusieurs GPU (AKA « display adapters ») en une seule unité logique. Cette fonctionnalité, appelée Explicit Multiadapter, permet à plusieurs GPU d’être instruits par un logiciel comme un seul GPU. Par exemple, avec DirectX 12, le GPU intégré sur votre machine peut désormais faire équipe avec votre GPU discret, en prêtant sa propre puissance de traitement. Une meilleure prise en charge des API peut également signifier une plus grande fiabilité et efficacité dans les configurations multi-GPU SLI/CrossFire. Dans les tests de Microsoft, l’utilisation de graphiques intégrés en tandem avec des graphiques discrets a fourni un avantage petit mais notable dans les références.
Quelle est l’importance de DirectX 12 pour les joueurs ?
Comme beaucoup d’améliorations incrémentielles, les joueurs ne verront pas de différences jour et nuit entre DirectX 11 et DirectX 12. Les nouvelles fonctionnalités n’apportent pas de nouvelles options de rendu qui épatent les utilisateurs. Vous ne verrez pas non plus un saut de 100 FPS entre les deux normes. Mais ces gains d’efficacité finiront par conduire à de meilleures performances sur du matériel moins puissant, améliorant la puissance de votre PC sans mettre à niveau son matériel.
Cet article est-il utile ? Oui Non