Accueil
» JEU
»
DirectX 11 contre DirectX 12 : lequel est le meilleur pour les jeux ?
DirectX 11 contre DirectX 12 : lequel est le meilleur pour les jeux ?
En résumé : DirectX 12 peut offrir de meilleures performances si le jeu est optimisé pour cette API, notamment lorsque le processeur limite la fréquence d'images. DirectX 11 peut être plus fluide ou plus fiable sur certains jeux ou certaines configurations. Aucune de ces API n'est intrinsèquement plus rapide, plus esthétique ou plus stable. Si un jeu propose les deux, comparez-les sur votre propre matériel.
Direct3D 12 permet à un jeu d'enregistrer simultanément plusieurs listes de commandes ; cette image conceptuelle n'est pas un test de performance matérielle.
Quelles sont les différences entre DirectX 11 et DirectX 12 ?
Dans la plupart des discussions sur les jeux vidéo, « DirectX 11 » et « DirectX 12 » désignent les API graphiques Direct3D utilisées par un jeu pour acheminer les données de rendu via Windows et le pilote graphique vers le GPU. L'API influe sur l'organisation de ces données ; elle ne définit pas de préréglage de qualité global et n'améliore pas automatiquement l'apparence d'une scène de jeu.
Direct3D 11 utilise un modèle de programmation de plus haut niveau. L'environnement d'exécution et le pilote gèrent davantage de détails pour le jeu, ce qui facilite la prise en charge d'une large gamme de systèmes par les développeurs. DX11 n'est pas strictement monothread : Microsoft documente la création d'objets multithread et l'enregistrement de listes de commandes dans Direct3D 11.
Direct3D 12 offre au moteur de jeu un contrôle plus direct. Le jeu peut enregistrer plusieurs listes de commandes sur différents cœurs du processeur, puis les soumettre à des files d'attente. Il prend également davantage en charge la gestion des ressources et la synchronisation CPU/GPU. Cela peut réduire la charge du processeur et améliorer la mise à l'échelle, mais alourdit le travail d'implémentation du jeu.
Zone
DirectX 11
DirectX 12
soumission de travail
Une plus grande partie de la gestion est assurée par l'environnement d'exécution et le pilote.
Le jeu enregistre et soumet des listes de commandes avec un contrôle plus explicite.
Mise à l'échelle du processeur
Prend en charge le multithreading, avec un modèle plus géré.
Permet de répartir plus directement l'enregistrement des commandes entre les cœurs du processeur.
Résultat du joueur
Souvent une solution de repli utile en matière de compatibilité ou de stabilité.
Peut améliorer les performances limitées par le processeur lorsque le jeu est optimisé pour celui-ci.
Quand DX12 peut-il être utile, et quand DX11 peut-il être meilleur ?
DirectX 12 est particulièrement utile lorsque le jeu est limité par le processeur : ce dernier peine à préparer le travail pour la carte graphique, tandis que cette dernière dispose de ressources supplémentaires. Un moteur de rendu DirectX 12 bien optimisé peut exploiter plus efficacement plusieurs cœurs du processeur et réduire la charge du pilote. Ces gains dépendent du moteur du jeu, de ses correctifs, du processeur, de la carte graphique et du pilote.
Si le GPU constitue déjà le facteur limitant, changer d'API risque de ne pas changer grand-chose. De plus, DX12 n'ajoute pas automatiquement le ray tracing, les shaders de maillage, le VRS (Variable Rate Shading) ni d'autres fonctionnalités graphiques ; le jeu doit implémenter la fonctionnalité et le matériel ainsi que le pilote doivent la prendre en charge. Même un GPU compatible Direct3D 12 peut offrir différents niveaux de fonctionnalités. Consultez le guide de Microsoft sur les niveaux de fonctionnalités matérielles Direct3D pour comprendre la différence entre la prise en charge des API et la prise en charge des fonctionnalités.
DX11 est un choix judicieux si un jeu ne propose pas DX12, si le développeur recommande DX11 pour votre configuration, ou si DX12 provoque des saccades, des bugs visuels, des gels ou des plantages récurrents. Une carte graphique ou un pilote plus ancien peut également fonctionner plus correctement avec le chemin DX11 du jeu. Il s'agit d'un choix à faire au cas par cas, et non d'une règle imposant l'utilisation de DX11 à tous les PC anciens.
Utilisez les options de rendu proposées par le jeu ; il n’existe pas d’option universelle sous Windows permettant d’utiliser DX11 ou DX12 pour tous les jeux.
Comment comparer les deux dans un jeu
Consultez les options et notes de support du jeu. Certains jeux ne proposent qu'un seul moteur de rendu ; d'autres permettent de choisir DirectX dans leurs paramètres graphiques ou leur lanceur. Assurez-vous que votre carte graphique, vos pilotes et votre version de Windows répondent aux exigences du jeu.
Veillez à ce que le test soit uniforme. Utilisez la même sauvegarde, la même rediffusion ou le même outil de test intégré, avec la même résolution, les mêmes paramètres graphiques, la même limite d'images par seconde et les mêmes applications en arrière-plan. Si le jeu compile ou met en cache des shaders, laissez la scène s'exécuter une première fois, puis répétez le test.
Comparez la fluidité, la stabilité et le nombre moyen d'images par seconde. Surveillez la régularité du temps de rendu, les saccades visibles, les plantages et les erreurs d'affichage. Répétez chaque test ; un seul résultat ponctuel peut être trompeur. Choisissez le mode qui vous semble le plus stable pour votre style de jeu habituel.
Le rendu d'un jeu peut se comporter différemment après une mise à jour majeure ou une modification des pilotes. Les résultats rapportés pour Fortnite, Ready or Not ou Path of Exile sont spécifiques à la version et à la configuration PC testées ; ils ne constituent pas une recommandation universelle. Consultez les notes de développement et effectuez un nouveau test si votre jeu présente des modifications.
Pour une comparaison équitable, utilisez la même scène et les mêmes paramètres. Les courbes image-temps présentées ici sont données à titre indicatif et ne correspondent pas à des mesures précises.
Alors, lequel choisir ?
Commencez par utiliser le moteur de rendu recommandé par le jeu. Essayez DX12 s'il est pris en charge et si vous souhaitez vérifier s'il améliore les performances limitées par le processeur. Passez à DX11 s'il est plus fluide ou plus stable sur votre système. Si le jeu ne propose qu'une seule option, utilisez celle qui est prise en charge plutôt que de forcer l'utilisation d'une autre API. Le meilleur choix sera celui qui permet au jeu de fonctionner de manière fluide et fiable sur votre PC.