Cartes graphiques

Nous expliquons pourquoi amd améliore plus que nvidia lors du passage à directx 12

Table des matières:

Anonim

Vous avez sûrement lu ou entendu que les cartes graphiques AMD sont bien meilleures dans DirectX 12 que Nvidia, que l'architecture utilisée par la première est beaucoup plus prête à fonctionner avec l'API de nouvelle génération. Ce sont des affirmations que nous voyons habituellement tous les jours, mais AMD est-il vraiment meilleur que Nvidia dans DirectX 12? Nous vous disons tout ce que vous devez savoir dans cet article.

La surcharge est la cause de l'amélioration d'AMD avec DirectX 12

Depuis que DirectX 12 a commencé à parler, nous avons vu des graphiques comparatifs comme celui-ci:

Ces graphiques comparent deux cartes graphiques équivalentes telles que la GeForce GTX 980 Ti et la Radeon R9 Fury X, si l'on se fie aux images précédentes on voit qu'AMD a un gain de performance brutal en passant de DirectX 11 à DirectX 12, contre Nvidia, il reste égal ou même perd des performances lorsque vous commencez à travailler avec la nouvelle API. En voyant cela, tout utilisateur penserait que la carte AMD est bien meilleure que la carte Nvidia.

Maintenant, regardons l'image suivante:

Cette fois, le graphique compare les performances de la GeForce GTX 980 Ti et de la Radeon R9 Fury X dans DirectX 11 et DirectX 12. Ce que nous pouvons voir, c'est que dans DirectX 11, la carte Nvidia donne presque le double de celle d'AMD et lors du passage à DirectX 12, les performances sont égalisées. On voit que la Radeon R9 Fury X améliore beaucoup ses performances en allant travailler avec DirectX 12 et la GeForce GTX 980 Ti s'améliore beaucoup moins. En tout cas, les performances des deux sous DirectX 12 sont les mêmes puisque la différence n'atteint pas 2 FPS en faveur du Fury X.

À ce stade, nous devons nous demander pourquoi AMD a une telle amélioration lors du passage à DirectX 12 et Nvidia s'améliore beaucoup moins. AMD fonctionne-t-il mieux sous DirectX 12 que Nvidia ou a-t-il un gros problème sous DirectX 11?

La réponse est qu'AMD a un gros problème sous DirectX 11, un problème qui rend ses cartes moins performantes que celles de Nvidia. Ce problème est lié à l'utilisation que les pilotes de cartes font du processeur, un problème appelé «surcharge» ou surcharge.

Les cartes graphiques AMD font un usage très inefficace du processeur sous DirectX 11, pour vérifier ce problème, il suffit de regarder les vidéos suivantes qui analysent les performances de la Radeon R7 270X et de la GeForce GTX 750 Ti avec un Core- i7 4790K, puis avec un Core-i3 4130. Comme nous pouvons le voir, le graphique AMD perd beaucoup plus de performances lorsqu'il travaille avec un processeur beaucoup moins puissant.

Far Cry 4

Ryse: fils de Rome

COD Advanced Warfare

La clé de ceci est dans la " file d'attente de commandes " ou les listes de commandes sous DirectX 11. De manière très simple et compréhensible, nous pouvons le résumer en ce que les cartes graphiques AMD prennent tous les appels de dessin vers l'API et les mettent dans un cœur de processeur unique, cela les rend très dépendants de la puissance à un seul thread du processeur et, par conséquent, ils souffrent grandement lorsqu'ils travaillent avec un processeur moins puissant par cœur. C'est pourquoi les graphiques d'AMD ont beaucoup souffert avec les processeurs AMD FX, beaucoup moins puissants par cœur que ceux d'Intel.

Au lieu de cela, Nvidia prend les appels de tirage à l'API et les divise entre les différents cœurs de processeur, avec cela la charge est répartie et une utilisation beaucoup plus efficace est faite et moins d'énergie dépend du cœur du processeur. En conséquence, AMD subit beaucoup plus de frais généraux que Nvidia sous DirectX 11.

La vérification de ce dernier est très simple, nous n'avons qu'à surveiller un AMD et une carte graphique Nvidia sous le même jeu et le même processeur et nous verrons comment dans le cas de Nvidia tous les cœurs fonctionnent de manière beaucoup plus équilibrée.

Ce problème de surcharge est résolu sous DirectX 12 et c'est la principale raison pour laquelle les cartes graphiques AMD ont un énorme gain de performances allant de DirectX 11 à DirectX 12. Si nous regardons le graphique suivant, nous voyons comment, sous DirectX 12, les performances ne sont plus perdues lors du passage d'un processeur double cœur à l'un des quatre.

Et pourquoi AMD ne fait-il pas comme Nvidia?

L'implémentation par Nvidia de files d'attente de commandes dans DirectX 11 est très coûteuse, nécessitant un investissement important en argent et en ressources humaines. AMD a été dans une mauvaise situation financière et n'a donc pas les mêmes ressources que Nvidia pour investir. De plus, l'avenir passe par DirectX 12 et il n'y a pas de problème de surcharge car l'API elle-même est chargée de gérer les files d'attente de commandes de manière beaucoup plus efficace.

De plus, l'approche Nvidia a le problème d'être beaucoup plus dépendante de l'optimisation des pilotes, donc Nvidia est généralement le premier à publier de nouvelles versions de ses pilotes chaque fois qu'un jeu important arrive sur le marché, bien qu'AMD ait mis le empile ces derniers temps. L'approche d'AMD a l'avantage d'être beaucoup moins dépendante des pilotes, de sorte que ses cartes n'ont pas besoin de nouvelles versions aussi urgentes que celles de Nvidia, c'est l' une des raisons pour lesquelles les cartes graphiques de Nvidia vieillissent moins bien avec le passage du temps quand ils ne sont plus pris en charge.

Et qu'en est-il des shaders asynchrones?

Il y a également eu beaucoup de discussions sur les shaders asynchrones, à ce sujet, nous devons seulement dire qu'il a reçu beaucoup d'importance alors qu'en réalité, la surcharge est beaucoup plus importante et détermine les performances de la carte graphique. Nvidia les prend également en charge bien que son implémentation soit beaucoup plus simple que celle d'AMD, la raison en est que son architecture Pascal fonctionne de manière beaucoup plus efficace, de sorte qu'elle n'a pas autant besoin de Shaders asynchrones que d'AMD.

Les graphiques d'AMD incluent des ACE, qui sont un moteur matériel dédié à l'informatique asynchrone, un matériel qui prend de la place sur la puce et consomme de l'énergie, donc sa mise en œuvre n'est pas un caprice, mais en raison d'une lacune majeure de l'architecture Graphics Core. Ensuite d'AMD avec la géométrie. L'architecture AMD est très inefficace lorsqu'il s'agit de répartir la charge de travail entre les différentes unités de calcul et les cœurs qui les composent, ce qui signifie que de nombreux cœurs sont sans travail et donc gaspillés. Les ACE et les shaders asynchrones font «donner du travail» à ces noyaux qui sont restés au chômage afin qu'ils puissent être exploités.

Dans l'autre partie, nous avons les graphiques Nvidia basés sur les architectures Maxwell et Pascal, ceux-ci sont beaucoup plus efficaces en géométrie et le nombre de cœurs est beaucoup plus faible que celui des graphiques AMD. Cela rend l'architecture Nvidia beaucoup plus efficace lorsqu'il s'agit de diviser le travail et moins de cœurs sont gaspillés que dans le cas d'AMD. L'implémentation des Shaders asynchrones en Pascal se fait via un logiciel, car faire une implémentation matérielle ne fournirait presque aucun avantage en termes de performances, mais ce serait un frein à la taille de la puce et à sa consommation d'énergie.

Le graphique suivant montre le gain de performances d'AMD et Nvidia avec les shaders asynchrones Mark Time Spy 3D:

La décision de Nvidia de mettre en œuvre des shaders asynchrones matériels à l'avenir dépend des avantages qui l'emportent sur les dommages.

Cartes graphiques

Le choix des éditeurs

Back to top button