Grafikkarten

Wir erklären, warum amd bei directx 12 mehr als nvidia verbessert

Inhaltsverzeichnis:

Anonim

Sicher haben Sie gelesen oder gehört, dass AMD-Grafikkarten in DirectX 12 viel besser sind als in Nvidia, dass die von der ersteren verwendete Architektur viel besser auf die Arbeit mit der API der neuen Generation vorbereitet ist. Dies sind Affirmationen, die wir normalerweise jeden Tag sehen, aber ist AMD in DirectX 12 wirklich besser als Nvidia? In diesem Beitrag erfahren Sie alles, was Sie wissen müssen.

Overhead ist die Ursache für die Verbesserung von AMD mit DirectX 12

Seit DirectX 12 zu sprechen beginnt, sehen wir Vergleichsdiagramme wie die folgenden:

Diese Grafiken vergleichen zwei gleichwertige Grafikkarten wie die GeForce GTX 980 Ti und die Radeon R9 Fury X. Wenn wir uns die vorherigen Bilder ansehen, sehen wir, dass AMD einen brutalen Leistungsgewinn erzielt, wenn es von DirectX 11 auf DirectX 12 gegen Nvidia geht gleich oder verliert sogar an Leistung, wenn Sie mit der neuen API arbeiten. Wenn man dies sieht, würde jeder Benutzer denken, dass die AMD-Karte viel besser ist als die Nvidia-Karte.

Nun wenden wir uns dem folgenden Bild zu:

Dieses Mal vergleicht das Diagramm die Leistung der GeForce GTX 980 Ti und der Radeon R9 Fury X in DirectX 11 und DirectX 12. Was wir sehen können, ist, dass in DirectX 11 die Nvidia-Karte fast doppelt so viel liefert wie AMD, und wenn Sie zu DirectX 12 wechseln, wird die Leistung ausgeglichen. Wir sehen, dass die Radeon R9 Fury X ihre Leistung bei der Arbeit mit DirectX 12 erheblich verbessert und die GeForce GTX 980 Ti viel weniger verbessert. In jedem Fall ist die Leistung beider unter DirectX 12 gleich, da der Unterschied nicht 2 FPS zugunsten des Fury X erreicht.

An dieser Stelle müssen wir uns fragen, warum AMD bei der Umstellung auf DirectX 12 eine solche Verbesserung aufweist und Nvidia sich viel weniger verbessert. Funktioniert AMD unter DirectX 12 besser als Nvidia oder hat es unter DirectX 11 ein großes Problem?

Die Antwort ist, dass AMD unter DirectX 11 ein großes Problem hat, das dazu führt, dass seine Karten schlechter abschneiden als die von Nvidia. Dieses Problem hängt mit der Verwendung des Prozessors durch die Kartentreiber zusammen, ein Problem, das als " Overhead " oder "Überlastung" bezeichnet wird.

AMD-Grafikkarten nutzen den Prozessor unter DirectX 11 sehr ineffizient. Um dieses Problem zu überprüfen, müssen wir uns nur die folgenden Videos ansehen, in denen die Leistung der Radeon R7 270X und der GeForce GTX 750 Ti mit einem Core- analysiert wird. i7 4790K und dann mit einem Core-i3 4130. Wie wir sehen können, verliert das AMD-Diagramm viel mehr Leistung, wenn mit einem viel weniger leistungsstarken Prozessor gearbeitet wird.

Far Cry 4

Ryse: Sohn Roms

COD Advanced Warfare

Der Schlüssel dazu befindet sich in der " Befehlswarteschlange " oder in den Befehlslisten unter DirectX 11. Auf sehr einfache und verständliche Weise können wir es so zusammenfassen, dass die AMD-Grafikkarten alle Zeichnungsaufrufe an die API senden und in diese einfügen Da es sich um einen einzelnen Prozessorkern handelt, sind sie stark von der Single-Thread-Leistung des Prozessors abhängig. Daher leiden sie stark, wenn sie mit einem weniger leistungsstarken Prozessor pro Kern zusammenarbeiten. Aus diesem Grund litt die Grafik von AMD stark unter AMD FX-Prozessoren, die pro Kern viel weniger leistungsstark sind als die von Intel.

Stattdessen nimmt Nvidia die Draw-Aufrufe an die API entgegen und teilt sie auf die verschiedenen Prozessorkerne auf. Dadurch wird die Last verteilt und eine viel effizientere Nutzung erfolgt , und weniger Leistung hängt vom Prozessorkern ab. Infolgedessen erleidet AMD unter DirectX 11 viel mehr Overhead als Nvidia.

Letzteres zu überprüfen ist sehr einfach. Wir müssen nur eine AMD- und eine Nvidia-Grafikkarte unter demselben Spiel und demselben Prozessor überwachen, und wir werden sehen, wie im Fall von Nvidia alle Kerne viel ausgewogener funktionieren.

Dieses Overhead-Problem wurde unter DirectX 12 behoben. Dies ist der Hauptgrund dafür, dass AMD-Grafikkarten von DirectX 11 auf DirectX 12 einen enormen Leistungsgewinn erzielen. Wenn wir uns das folgende Diagramm ansehen, sehen wir, dass unter DirectX 12 die Leistung nicht mehr verloren geht, wenn von einem Dual-Core-Prozessor zu einem von vier gewechselt wird.

Und warum mag AMD Nvidia nicht?

Die Implementierung von Befehlswarteschlangen in DirectX 11 durch Nvidia ist sehr teuer und erfordert einen hohen Aufwand an Geld und Personal. AMD war in einer schlechten finanziellen Situation und verfügt daher nicht über die gleichen Ressourcen, die Nvidia investieren kann. Darüber hinaus geht die Zukunft über DirectX 12 und es gibt kein solches Overhead-Problem, da die API selbst für die effizientere Verwaltung von Befehlswarteschlangen zuständig ist.

Darüber hinaus hat der Nvidia-Ansatz das Problem, viel stärker von der Optimierung der Treiber abhängig zu sein. Daher ist Nvidia normalerweise der erste, der jedes Mal, wenn ein wichtiges Spiel auf den Markt kommt, neue Versionen seiner Treiber veröffentlicht, obwohl AMD dies getan hat stapelt sich in letzter Zeit darauf. Der Ansatz von AMD hat den Vorteil, dass er viel weniger von Treibern abhängig ist, sodass seine Karten nicht so dringend neue Versionen benötigen wie der von Nvidia. Dies ist einer der Gründe, warum die Grafikkarten von Nvidia mit dem Alter schlechter werden Zeitablauf, wenn sie nicht mehr unterstützt werden.

Und was ist mit asynchronen Shadern?

Es wurde auch viel über asynchrone Shader gesprochen, diesbezüglich müssen wir nur sagen, dass ihm eine große Bedeutung beigemessen wurde, wenn in Wirklichkeit der Overhead viel wichtiger ist und die Leistung der Grafikkarte bestimmt. Nvidia unterstützt sie auch, obwohl ihre Implementierung viel einfacher als die von AMD ist. Der Grund dafür ist, dass die Pascal-Architektur viel effizienter arbeitet und daher nicht so sehr asynchrone Shader wie AMD benötigt.

Zu den Grafiken von AMD gehören ACEs, eine Hardware-Engine für asynchrones Computing, Hardware, die Speicherplatz auf dem Chip beansprucht und Energie verbraucht. Die Implementierung ist also keine Laune, sondern ein wesentlicher Mangel der Graphics Core-Architektur. Weiter von AMD mit Geometrie. Die AMD-Architektur ist sehr ineffizient, wenn es darum geht, die Arbeitslast auf die verschiedenen Recheneinheiten und die Kerne, aus denen sie bestehen, zu verteilen. Dies bedeutet, dass viele Kerne arbeitslos und daher verschwendet sind. Was ACEs und asynchrone Shader tun, ist, diesen Kernen, die arbeitslos geblieben sind, "Arbeit zu geben", damit sie ausgebeutet werden können.

Im anderen Teil haben wir die Nvidia-Grafiken, die auf den Maxwell- und Pascal- Architekturen basieren. Diese sind in der Geometrie viel effizienter und die Anzahl der Kerne ist viel geringer als die der AMD-Grafiken. Dies macht die Nvidia-Architektur viel effizienter, wenn es darum geht, die Arbeit zu teilen, und es werden nicht so viele Kerne verschwendet wie im Fall von AMD. Die Implementierung der asynchronen Shader in Pascal erfolgt über Software, da eine Hardware-Implementierung fast keinen Leistungsvorteil bietet, aber die Größe des Chips und seinen Energieverbrauch beeinträchtigt.

Die folgende Grafik zeigt den Leistungsgewinn von AMD und Nvidia mit 3D-Asynchron-Shadern von Mark Time Spy:

Ob Nvidia in Zukunft Hardware-Asynchron-Shader implementieren wird, hängt von den Vorteilen ab, die den Schaden überwiegen.

Grafikkarten

Die Wahl des Herausgebers

Back to top button