• Mitspieler gesucht? Du willst dich locker mit der Community austauschen? Schau gerne auf unserem ComputerBase Discord vorbei!

Test Forza 7 Benchmark: Vega hat mehr Benzin im Blut als Pascal

Soweit ich das verstanden habe, nutzt DX12 die Hardware zwar besser aus als DX11, dafür ist aber der Programmieraufwand sehr viel höher da viel mehr einzelne Befehle nötig sind um das gleiche Ergebnis zu erhalten.

Und das wird auch der Grund sein, warum es nicht so verbreitet ist. Denn was bringt es dem Entwickler? Die Leute kaufen das Spiel so oder so, also wozu zusätzlichen Aufwand betreiben.
 
Auch ich habe keine Ahnung von höheren Programmiersprachen oder Objekt orientierten Sprachen. Ich bin nicht ganz sicher , ob es den Programmierer / Studio / Publisher nichts nutzen könnte. Vielleicht ist der erste Aufwand immer sehr hoch.

Meist wird mit Sicherheit ein Mischung genutzt (in der Industrie / Entwicklerstudio) mit dem Risikofaktor leben zu können, dass es nicht viele Engine Versionen geben mag, da Anpassungen irgendwann (Kosten, Aufwand) zu hohen finanziellen Engpässen führen könnte.

Vielleicht ganz vereinfacht und verständlich bezüglich High Level / Low Level / Mischformen der Programmierung: https://wiki.delphigl.com/index.php/Low/High-Level

(Erster Treffer bei Freund Google)


Denke Frostbite zeigt es vielen schon länger.

Trotzdem funktioniert das ganze bewährt natürlich auch wahrscheinlich für die Unreal Engine.

Alle Punkte sind Vermutungen / Theorien meinerseits und stellen keine Erfahrungswerte / Tatsachen da.
Bitte daher um Korrektur falls erforderlich.
 
Soll Battlefield 1 (und damit Frostbite) nicht eine der schlechtesten DX12 Implementierungen besitzen? Welches Frostbite Spiel sticht denn da positiv heraus?
 
Meinte dies bezüglich der Wiederverwendung der Engine mit Weiterentwicklung (wie jede andere Engine wahrscheinlich auch) und meist zumindest Anbietung einer Direct X 12 Variante. Wie gut oder schlecht diese auch dann immer zu bewerten ist.

https://m.youtube.com/watch?v=ej2HpZPz-As

PS. Das einzige Game welches meiner Meinung nach überhaupt profitiert, ist Doom via Vulkan.

Dies sollte aber auch vermutlich für fast alle Grafikkarten ab 2 GB Vram der Fall sein.


Aber natürlich steigert sich AMD hier genauso zum Zeitpunkt des Tests: https://www.computerbase.de/2016-07/doom-vulkan-benchmarks-amd-nvidia/

Wie gesagt. Wäre interessant zu wissen wie sich viele Modelle in DirectX 11, 12, Vulkan / Mantle schlagen. 😋

Denke AMD könnte da nicht zu tragende Optimierungen nutzen um mindestens gleich zu ziehen.
 
Zuletzt bearbeitet:
Aldaric87 schrieb:
Es ist schon schwer die Unterschiede zwischen DX11 und DX12 zu kennen. Wenn die Hardware DX12 so unterstützt wie vorgesehen muss der Entwickler keine Anpassungen an die Hardware durchführen. Die API spricht die Hardware dementsprechend an.

Da machst du es dir aber zu einfach. DX12 ist wie Vulkan eine Low Level API. Beide APIs wurden in erster Linie darauf getrimmt möglichst hardwarenahe Programmierung zu ermöglichen.

Vereinfacht ausgedrückt, vieles was unter DX11 noch mit einem Befehl erledigt wurde, benötigt unter DX12 einen wesentlich höheren Aufwand. Dieser Aufwand wird dazu noch mit den beiden APIs auf die Spieleentwickler übertragen.

Schon alleine das beliebte Stichwort "Asynchronous Compute" bedeutet ungefähr einen Aufwand, der gleichzusetzen ist mit der Umstellung von Softwareentwicklung von einem Thread auf mehrere und dieser ist nicht unerheblich.

Nur mal ein kleiner Beispiel aus der Beschreibung von Microsoft.
DirectX 12; Command Lists and Multi-Engine

DirectX 12 employs a different command submission model using command lists, each of which is created by one CPU thread and submitted to one of three queues, corresponding to one of three "engines".

Most modern GPUs contain multiple independent engines that provide specialized functionality. Many have one or more dedicated copy engines, and a compute engine, usually distinct from the 3D engine. Each of these engines can execute commands in parallel with each other. Direct3D 12 provides granular access to the 3D, compute and copy engines, using queues and command lists.
https://www.reddit.com/r/nvidia/comments/50dqd5/demystifying_asynchronous_compute/

Vieles was bisher eher durch Nvidia oder AMD im Treiber optimiert wurde, darf nun von den Spieleentwicklern vorgenommen werden.
 
Zuletzt bearbeitet:
LOL !!!

Das ist der einzige Spiel, wo AMD schneller ist als Nvidia.

Ich habe ehrlich keine Kommentare gelesen, weil ich bereits weiß, was hier geschrieben wird.

Ich verkaufe sofort meine 1080ti und kaufe mir eine AMD Vega. :freak:
 
leon482 schrieb:
einzige Spiel, wo AMD schneller ist als Nvidia.

Definiere AMD und Nvidia.
Wenn du meinst "schneller als die 1080Ti" dann hast du recht, wenn du aber meinst schneller als das jeweilige Gegenstück, also Vega56/GTX1070 und Vegy64/GTX1080, dann stimmt das nicht.



Blaze1987 schrieb:
PS. Das einzige Game welches meiner Meinung nach überhaupt profitiert, ist Doom via Vulkan.

Aber natürlich steigert sich AMD hier genauso zum Zeitpunkt des Tests: https://www.computerbase.de/2016-07/doom-vulkan-benchmarks-amd-nvidia/

Hier passen die Tests mal wieder irgendwie nicht zusammen.
1440p: Fury X liegt mit Vulkan 26% vor einer GTX1070, mit OpenGL dafür 18% darunter.

Schaut man sich den Test von Vega an, liegt hier in Doom die Fury X 33% hinter der GTX1070.
Was wurde denn dort nun benutzt? Bei Vulkan hätte sie besagte 26% besser sein müssen und auch bei OpenGL keine 33% sondern nur 18% schlechter.


Selbst der Vergleich in den eigenen Reihen mit der RX480 passt nicht, im Doom Test unter Vulkan ist die Fury X 40% schneller(selbst mit OpenGL sind es noch 30%), im Vega Test ist sie plötzlich 12% langsamer.

Die einzige Konstellation wie das hinkommen kann, ist FuryX@OpenGL vs RX480@Vulkan, dann ist sie nämlich genau diese 12% langsamer.


Der Test von tomshardware sieht recht ähnlich aus, hier steht auch explizit Vulkan dabei
http://www.tomshardware.com/reviews/amd-radeon-rx-vega-64,5173-8.html

Dort liegt Vega64 genau da wo sie auch bei CB liegt, also sollte auch bei CB mit Vulkan getestet worden sein.
Aber dort liegt auch die Fury X 15% vor der GTX1070, was zwar nicht die 26% sind, die CB im Doom Test hatte, aber schon mal sehr viel besser als die -33% im Vega Test.


Also wurden alle Karten mit Vulkan getestet, nur für die Fury X wurden die OpenGL Werte genommen
 
Zuletzt bearbeitet:
Ja bis jetzt noch aber vielleicht ändert dass ja jetzt dann die neue X-Box da vielleicht mehr Entwickler auf DX12 Wechseln.
 
karl_laschnikow schrieb:
Vorweg: Ich habe mich nie mit dem Thema Direct X und den API´s beschäftig. Dachte eigentlich das DX12 komplexer ist für die Entwickler, aber mehr Möglichkeiten der Leistung ergibt. Oder vertausche ich es mit den low Level API´s ala Vulkan?
Es gibt ja DX 12 seit ca 2 Jahren, warum weigert sich die Industrie eigentlich auf dieses Feature ?
So richtige low level APIs sind DX12 und Vulkan auch nicht sondern eher lower level APIs und genau das ist der Punktwarum es nicht die Hardware an sich ist die den Mehraufwand bringt. Es sind vielmehr viele Funktionen die zuvor von der API übernommen wurden und nun im Spiel selbst umgesetzt werden müssen. Das erfordert einen höheren Programmieraufwand aber auch mehr Freiheiten, weshalb ja seinerzeit auch DICE auf AMD zugegangen sein soll (andere hatten abgelehnt) und AMD deshalb erst die Mantle API entwickelt hatte.

Unterm Strich müsste man dabei auch sauberer Programmieren weil der Treiber eben keine Fehler mehr großartig ausbügeln kann. Dafür sind hier dessen Eingriffsmöglichkeiten zu gering geworden.

Zudem hat DX12 ein entscheidenes Problem. Es ist von Windows 10 abhängig, ein Problem das Vulkan nicht hat. Im Gegenteil, es ist auch auf den älteren Windows Versionen und sogar Linux verfügbar und kann letztendlich das gleiche wie der 3D Part von DX12.

Die Beta von Serious Sam Fusion 2017 scheint hier ein netter Pilot zu sein.
 
Ich möchte kritisch anmerken das es weniger ein Problem ist das DX12 nur für Windows 10 verfügbar ist als hier immer heraus gestellt wird.

1. Es gibt auch nicht sonderlich Vulkan Games für Windows
2. Windows 10 ist in der Gamer Szene sehr gut verbreitet

Die API wird schlichtweg noch nicht flächendeckend eingesetzt weil die Entwicklung von Spielen Jahre dauert und kaum einer daran interessiert ist den Mehraufwand zu Schultern. Die paar vorhanden Leuchtturm Projekte zählen nicht.
 
Und nüchtern betrachtet ist die Vulkan API genau das was sich einige für DX12 wünschen, flächendeckend verfügbar und das auch noch über die Windows Plattform hinaus. Was Spricht dann also aus Kundensicht noch für DX12?
 
Blaze1987 schrieb:
Meinte dies bezüglich der Wiederverwendung der Engine mit Weiterentwicklung (wie jede andere Engine wahrscheinlich auch) und meist zumindest Anbietung einer Direct X 12 Variante. Wie gut oder schlecht diese auch dann immer zu bewerten ist.

https://m.youtube.com/watch?v=ej2HpZPz-As

PS. Das einzige Game welches meiner Meinung nach überhaupt profitiert, ist Doom via Vulkan.

Dies sollte aber auch vermutlich für fast alle Grafikkarten ab 2 GB Vram der Fall sein.


Aber natürlich steigert sich AMD hier genauso zum Zeitpunkt des Tests: https://www.computerbase.de/2016-07/doom-vulkan-benchmarks-amd-nvidia/

Wie gesagt. Wäre interessant zu wissen wie sich viele Modelle in DirectX 11, 12, Vulkan / Mantle schlagen. 😋

Denke AMD könnte da nicht zu tragende Optimierungen nutzen um mindestens gleich zu ziehen.

Auch NV profitiert in diesem Beispiel von Vulcan. Auf diesen Mehr-Gewinn für Spieler verzichtet man aber gerne, da dann die eigene Hardware im Vergleich etwas zurück liegt bzw. weniger starke Zuwächse verzeichnet. Da versucht man doch lieber die Entwickler durch finanzielle Zuwendung davon zu überzeugen lieber auf ein anderes Pferd zu setzen. Zum kotz*** . Die letzten Jahre hätten dabei gut von NV genutzt werden können die Hardware-Einheiten entsprechend auszubauen. Man läge mit Sicherheit weiterhin leicht vor AMD allerdings mit komplexerer/teurerer Hardware also weniger Margen. Das da bei einem Milliarden-Markt nicht mal jemand Kartellrechtlich drauf guckt...Erinnert stark an Intel vs. Amd seinerzeit.
 
Wadenbeisser schrieb:
Was Spricht dann also aus Kundensicht noch für DX12?

Aus Kundensicht nicht, aber für Entwickler ist es das "einfachere" Paket, wenn ich mich nicht täusche. Es ist ja nicht nur die Grafik Schnittstelle sondern auch Steuerung (xinput) Sound, etcpp.
 
karl_laschnikow schrieb:
Es gibt ja DX 12 seit ca 2 Jahren, warum weigert sich die Industrie eigentlich auf dieses Feature ?
DX12 gibt es nur für Win10 und Win10 schafft es je nachdem welche Statistik man herhimmt nur auf einen Marktanteil von 1/3 bis 1/2, spricht, man schließt min. die Hälfte der potentiellen Kundschaft aus. Bei Spielen, die MS entwickeln lässt, spielt das keine so große Rolle, denn da geht es hauptsächlich darum die Plattform zu promoten, aber für alle anderen bedeutet das große finanzielle Nachteile.

tek9 schrieb:
Die API wird schlichtweg noch nicht flächendeckend eingesetzt weil die Entwicklung von Spielen Jahre dauert und kaum einer daran interessiert ist den Mehraufwand zu Schultern. Die paar vorhanden Leuchtturm Projekte zählen nicht.
Es ist sicherlich schwieriger von DX11 auf Vulkan umzusteigen, allerdings kann man sich mit Vulkan den DX11-Renderpfad komplett sparen, da Vulkan eben nicht nur für Win10 verfügbar ist.
Die meisten Spiele mit DX12-Unterstützung dürften hingegen in erster Linie für DX11 entwickelt worden sein und der DX12-Renderpfad wurde dann nachträglich aufgesetzt. Mit passenden Wrappern / Bibliotheken lässt sich das sogar ohne all zu großen Aufwand erreichen. Der einzige Vorteil von DX12, der dann aber übrig bleibt ist, dass man hier und da etwas einfacher optimieren kann, dafür muss man aber im Gegenzug auf Teile der "Treiber-Magie" bei DX11 verzichten.

xexex schrieb:
Vereinfacht ausgedrückt, vieles was unter DX11 noch mit einem Befehl erledigt wurde, benötigt unter DX12 einen wesentlich höheren Aufwand. Dieser Aufwand wird dazu noch mit den beiden APIs auf die Spieleentwickler übertragen.
Jein. Prinzipiell ist das zwar korrekt, allerdings gilt es in dieser vereinfachten Form nur für weniger anspruchsvolle Spiele. Sobald du bei DX11 ein Spiel mit hohen Leistungsanforderungen hattest, war es auch dort vorbei mit der "generischen" Programmierung. An diesem Punkt musste auch wieder stärker auf die Hardware optimiert werden, nur dass das bei DX11 gar nicht so einfach ist, weil die API das eigentlich überhaupt nicht vorsieht. Um es trotzdem zu erreichen muss man praktisch "gegen die API" arbeiten und mit vielen Tricks und der Hilfe der Treiber irgendwelche Wege finden um die Beschränkungen der API zu umgehen. Aus Sicht eines Software-Architekten ist das natürlich extrem unschön, aber wenn man die Leistung braucht, kommt man nicht drumherum. Deswegen brauchte auch jedes anspruchsvolle Spiel Anpassungen der Treiber.

xexex schrieb:
Schon alleine das beliebte Stichwort "Asynchronous Compute" bedeutet ungefähr einen Aufwand, der gleichzusetzen ist mit der Umstellung von Softwareentwicklung von einem Thread auf mehrere und dieser ist nicht unerheblich.
Hier übertreibst du aber gewaltig. Auch ohne Async. Compute arbeitest du mit sehr viele Threads (wie soll man auch sonst die tausenden Recheneinheiten der GPU auslasten). Der Unterschied liegt in erster Linie darin, dass mit Async. Compute die Granularität verfeinert wird, was einen moderaten Mehraufwand bedeutet.
 
Taxxor schrieb:
Soweit ich das verstanden habe, nutzt DX12 die Hardware zwar besser aus als DX11,

Das ist aber ein sehr "grobe" Sichtweise bzw. was verstehst du unter "Ausnutzen".
DX11: DX-SDK/Treiber managed die HW
DX12: Programmierer managed die HW
(vereinfacht dargestellt)

daher:
Taxxor schrieb:
dafür ist aber der Programmieraufwand sehr viel höher da viel mehr einzelne Befehle nötig sind um das gleiche Ergebnis zu erhalten.
Ergänzung ()

Limit schrieb:
DX12 gibt es nur für Win10 und

Auch Direct3D 11.3 und 11.4 gibt es nur für Windows 10.
Das Problem bei 12 ist die umfangreiche, fehleranfällige Programmierung und die Tatsache, dass der Programmierer selbst für jede GPU-Architektur optimieren muss, weil der Treiber da nicht mehr viel Einfluss hat.
Habe das oben schonmal dargelegt.
 
Ko3nich schrieb:
Na das ist doch mal wieder ein Kandidat für den Benchmark Parcours.
Weil die Vega nur da dem Preis angemessene FPS Werte liefert? Ist der Test dann noch objektiv?
So wie AotS, was nur auf AMD Harware schnell läuft? Wenn ich 50 Spiele habe, und nur 3 oder 4
Ausreißer von der Norm, was haben die dann bitte in nem Testparcours zu suchen?
1024 schrieb:
Interessantes abschneiden der Vega Karten.
Dass Vega grundsätzlich nicht stärker als die 1080 Ti ist, aber in Forza 7
deutlich schneller rechnet legt den Verdacht sehr nahe, dass NVIDIA hier
bald einen Patch liefert. Hardware seitig sollte das Problem nicht liegen.

Endlich einer, der es begriffen hat.

Allen muss klar sein, dass Forza DAS Vorzeigeprodukt ist für moderne AMD Hardware, denn es
wurde optimiert auf die AMD Hardware der in 4 Wochen erscheinenden Vega-basierten Xbox1X.
Schon auf dem Papier kann Vega schwerlich schneller sein als die 1080Ti, deswegen muss man
einfach nur von weiteren einem schlampigen Port ausgehen. Was glaubt ihr denn, wie dieser
Benchmark ausgesehen hätte, wenn die Xbox One auf Intel /Nvidia Hardware basieren würde?
 
Weil die Vega nur da dem Preis angemessene FPS Werte liefert? Ist der Test dann noch objektiv?

Er ist zumindest objektiver als jedes andere Game mit Gaming Evolved oder Geforce Logo am Anfang.

Forza 7 ist bei keinem der beiden Hersteller im Gaming Programm, keiner wirbt mit einem mit Forza 7 Bundle, es wird keine exklusive Technik von einem der beiden Hersteller genutzt, das Spiel sieht gut aus und läuft auf beiden Herstellern gut. Also ja das wäre ein Game was man aufnehmen könnte.

Mir als Nvidia Besitzer macht es auch keine schlaflosen Nächte, dass Vega hier vor der TI ist (zumindest bis 4K). Es scheint mir dass die Meisten nicht damit zufrieden sind, dass das Game auf Ihrer Hardware gut läuft (wie es hier zweifelsfrei der Fall ist), Nein das Game muss auch noch schlecht bei den anderen laufen sonst ist man nicht zufrieden. Ziemlich arm!
 
Zuletzt bearbeitet:
kisser schrieb:
Das ist aber ein sehr "grobe" Sichtweise bzw. was verstehst du unter "Ausnutzen".
DX11: DX-SDK/Treiber managed die HW
DX12: Programmierer managed die HW
(vereinfacht dargestellt)
Viel zu stark vereinfacht. Unabhängig von der API ist alleine der Treiber für HW-Zugriffe zuständig. Der Unterschied ist nur der Abstraktionsgrad der Schichten darüber. Deine Erklärung ist nicht mehr richtig oder falsch als die von Taxxor.

kisser schrieb:
Auch Direct3D 11.3 und 11.4 gibt es nur für Windows 10.
Was willst du damit sagen? Die neuen Features lassen sich entweder ohne weitere Anpassungen bei älteren Windows-Versionen deaktivieren oder werden einfach nicht genutzt.

kisser schrieb:
Das Problem bei 12 ist die umfangreiche, fehleranfällige Programmierung und die Tatsache, dass der Programmierer selbst für jede GPU-Architektur optimieren muss, weil der Treiber da nicht mehr viel Einfluss hat.
Habe das oben schonmal dargelegt.
Wie auch ich oben schon geschrieben habe, ist das nur dann richtig, wenn du wenig anspruchsvolle DX11-Software mit hochoptimierter DX12-Software vergleichst. Sobald du ein Spiel mit hohen Leistungsanforderungen hast, musst du auf jeden Fall Optimierungen auf die GPU-Architekturen vornehmen. Damit das bei DX11 geht, haben die Spieleentwickler mit Hilfe der Treiberentwickler sich alle möglichen Tricks ausgedacht um die API zu umgehen. Da diese Tricks in keinster Weise standardisiert wurden, war es zwingend notwendig, dass Spiele und Treiber genau aufeinander angepasst wurden, was nicht nur aufwendig, sondern auch sehr fehleranfällig ist. Bei DX12 hingegen kann das ohne jede Trickserei über die API erfolgen.

Übrigens können die GPU-Hersteller (oder auch jeder andere) Bibliotheken erstellen, die auf DX12 aufbauen und die zusätzlichen Abstraktionsschichten von DX11 implementieren. Stärker zu abstrahieren ist kein großes Problem, nur die andere Richtung ist schwierig/hässlich.
 
Zuletzt bearbeitet: (Grammatik)
Zurück
Oben