Des lecteurs comme vous aident à soutenir MUO. Lorsque vous effectuez un achat en utilisant des liens sur notre site, nous pouvons gagner une commission d'affiliation. En savoir plus.

DirectX 12 est sorti aux côtés de Windows 10 en 2015. Avec sa sortie, DirectX 12 de Microsoft a inauguré une nouvelle ère pour les joueurs et les développeurs de jeux. Capable de réduire la surcharge du processeur tout en améliorant les performances du GPU, DirectX 12 s'est rapidement fait un nom.

Cependant, augmenter vos performances est-il vraiment aussi simple que de passer de DirectX 11 à DirectX 12? Découvrons-le en examinant les différences entre DirectX 11 et 12.

Qu'est-ce que DirectX de Microsoft ?

Comme expliqué dans notre aperçu de Microsoft DirectX, DirectX est une collection d'API utilisées pour gérer les tâches liées au multimédia. Cela inclut la programmation de jeux sur des plates-formes Microsoft telles que Windows et Xbox. Pour fournir un contexte, parlons brièvement des API.

Une interface de programmation d'application (API) permet à deux programmes informatiques ou plus de communiquer entre eux, ce dont nous parlerons dans

instagram viewer
notre aperçu des API. Pensez-y comme un téléphone. Si votre mère vous envoie un SMS avec une liste de courses, votre téléphone recevra ces données et les affichera pour vous. C'est essentiellement une API.

Quelles sont les différences entre DirectX 11 et DirectX 12 ?

Alors, quelles sont les différences entre DirectX 11 et DirectX 12? En termes simples, DirectX 12 est la dernière version de DirectX. L'une des différences les plus notables entre les deux est leur interaction avec votre matériel. La plupart des jeux développés avec DirectX 11 n'utilisent qu'entre deux et quatre Cœurs de processeur. L'un de ces cœurs est généralement dédié à dire au GPU quoi faire.

Le jeu utilise ensuite les cœurs restants pour gérer divers paramètres gourmands en CPU comme les particules d'un jeu ou la distance de tirage. D'autre part, DirectX 12 répartit la charge de travail d'un processeur sur plusieurs cœurs et permet également à chaque cœur de parler au GPU en même temps.

DirectX 12 est également livré avec quelques cloches et sifflets fantaisistes. Cela inclut l'informatique asynchrone et les objets d'état de pipeline (PSO). L'informatique asynchrone augmente l'utilisation du GPU en permettant à plusieurs charges de travail de fonctionner en parallèle. Cela libère essentiellement le plein potentiel de votre GPU.

Outre le rendu graphique, votre GPU est responsable de la gestion d'un large éventail d'autres tâches, telles que l'exécution d'algorithmes d'apprentissage automatique. Avec DirectX 11, le GPU ne peut effectuer qu'une seule de ces tâches à la fois et dans un certain ordre. Lorsque cela se produit, les performances en pâtissent car toutes vos ressources GPU ne sont pas utilisées.

Pensez-y comme un serveur dans un restaurant. Lorsqu'un serveur prend votre commande pour la première fois, il vous demande ce que vous aimeriez boire en premier. Une fois que vous recevez vos boissons, ils vous demandent ce que vous souhaitez comme plat principal. Votre commande est prise en étapes. Le serveur ne vous demandera pas ce que vous aimeriez comme dessert avant d'avoir mangé votre plat principal. Bien que cela soit efficace, ce n'est pas aussi efficace qu'il pourrait l'être.

En informatique, chacune des tâches du serveur serait gérée par une ressource GPU différente. Jusqu'à ce que vous receviez votre boisson, les ressources GPU nécessaires pour prendre votre commande de plat principal seraient inactives. Avec l'informatique asynchrone de DirectX 12, le serveur pourrait prendre votre commande en une seule fois comme dans une chaîne de restauration rapide. Cela maximise l'utilisation du GPU et améliore vos performances de jeu.

DirectX 12 a également introduit les PSO. Avec DirectX 11, lorsque la géométrie d'un jeu est soumise au GPU pour être rendu, une variété de paramètres matériels sont responsables de l'interprétation et du rendu de ce données. C'est ce qu'on appelle le pipeline graphique et il s'agit du flux d'entrées et de sorties de données qui se produit lorsque votre GPU rend les images. Cependant, le pipeline graphique de DirectX 11 n'est pas parfait.

Ce pipeline contient une collection de différents états, y compris l'état de pixellisation, l'état de fusion et l'état de gabarit de profondeur, entre autres composants. Dans DirectX 11, il existe des dépendances entre ces différents états. Par conséquent, un état ne peut pas être terminé tant que l'état précédent n'est pas défini. Cela réduit l'utilisation du processeur graphique et augmente la surcharge du processeur au détriment des performances.

Pour contourner ce problème, DirectX 12 a introduit les PSO, qui sont des objets qui décrivent l'état de l'ensemble du pipeline graphique. Les PSO sont comme une bouteille qui contient les différents états et composants nécessaires pour créer une image. Cela permet au GPU de pré-traiter chaque état dépendant au lieu d'avoir à recalculer continuellement les états en fonction du pipeline graphique actuel.

Cela réduit considérablement la surcharge du processeur trouvée dans DirectX 11 et améliore les performances. Alors, à quoi ressemble réellement cette différence? Eh bien, selon Microsoft, DirectX 12 réduit la surcharge du processeur jusqu'à 50 % et améliore les performances du GPU jusqu'à 20 %. Bien qu'il s'agisse d'améliorations substantielles, cela ne signifie pas que vous obtiendrez les mêmes résultats.

Pourquoi passer de DirextX 11 à DirectX 12 n'est pas simple

DirectX 11 est sorti pour la première fois pour Windows Vista le 27 octobre 2009. Donc, avec DirectX 12 suivant en 2015, c'est un écart de six ans entre DirectX 11 et DirectX 12. Pendant ce temps, des milliers de jeux ont été développés en utilisant DirectX 11. Malheureusement, passer de DirectX 11 à DirectX 12 est tout sauf simple.

DirectX 11 est ce qu'on appelle une API de haut niveau. Pour faire simple, les API de haut niveau sont plus faciles à utiliser pour les développeurs. Le résultat est des jeux stables, polis et jouables. D'autre part, DirectX 12 est une API de bas niveau et est une bête différente de DirectX 11. Bien qu'il permette aux développeurs d'affiner l'optimisation à un niveau granulaire, il exige également des connaissances approfondies à utiliser.

Cela étant dit, un jeu développé en DirectX 12 pourrait se retrouver avec de moins bonnes performances en fonction de la connaissance de l'API par le développeur. Il y a des améliorations qui viennent avec DirectX 12, mais cela dépend vraiment de la façon dont un développeur peut l'implémenter. Pour cette raison, de nombreux développeurs choisissent de s'en tenir à des API de haut niveau comme DirectX 11.

Faut-il choisir DirectX 11 ou DirectX 12 ?

La réponse dépend de quelques éléments, comme le jeu que vous essayez d'exécuter. Par exemple, Guild Wars 2 tourne sur DirectX 11. Même si votre système d'exploitation et votre matériel utilisent DirectX 12, vous n'aurez pas la possibilité de sélectionner DirectX 11 dans Guild Wars 2 car le jeu ne le prend pas en charge. C'est entièrement la décision du développeur, ArenaNet.

Crédit image: Martin Kerstein/Guild Wars 2

Croyez-le ou non, il a fallu neuf ans à ArenaNet pour passer de DirectX 9 à DirectX 11. Cependant, certains jeux prennent en charge DirectX 11 et DirectX 12. Fortnite (lire notre aide-mémoire Fortnite), Par exemple. Grâce aux paramètres du jeu, les utilisateurs peuvent basculer entre les deux versions. Pour résumer, tous les jeux ne prennent pas en charge à la fois DirectX 11 et DirectX 12. Pour ceux qui le font, basculez entre les deux et déterminez vous-même ce qui fonctionne le mieux sur votre PC.

Que vous puissiez choisir entre DirectX 11 et DirectX 12 dépendra également de votre matériel. Presque tous les GPU modernes prendront en charge DirectX 12, mais on ne peut pas en dire autant des GPU plus anciens comme le Radeon HD 4870. Sorti en 2008, ce GPU ne prend en charge que jusqu'à DirectX 10. Cela signifie qu'il serait incapable d'exécuter la plupart des jeux modernes, qui fonctionnent avec DirectX 11 et DirectX 12.

DirectX 12 est-il le bon choix pour vous ?

Dans l'ensemble, passer de DirectX 11 à DirectX 12 n'est pas aussi noir et blanc qu'il n'y paraît. Cela dépend de divers facteurs tels que le matériel, les logiciels, le système d'exploitation et si un jeu prend en charge les deux. Tous ces éléments doivent être pris en compte avant de prendre une décision, et cela sera probablement également vrai pour les futures générations de DirectX.