Test Quantum Break Benchmark: Steam mit DX11 gegen Windows Store mit DX12

Liegtst an DX12, liegtst an der UWP? Ich denke es liegt klar daran, wie DX12 umgesetzt wird. Manche Spielentwickler tun sich wohl im Moment schwer damit, die veränderten Rahmenbedingungen für DX12 umzusetzen. Und den Teibermachern an einer passenden Integration.

Wenn DX12 so schlecht ist, bzw nach der Meinung Mancher hier, warum rennt dann z.B. Forza Horizon 3 auf Polaris so gut?
FPS auf Augenhöhe mit GTX980Ti und GTX1080, und die Frametimes sind sogar noch besser!
Bildschirmfoto_2016-10-02_02-59-10.png



Es liegt am Spiel und der leidlichen UWP, wenn beides vergeigt wird, reisst auch DX12 nichts raus ;)
Wenn DX12 richtig genutzt, dh darauf programmiert und nicht nur 'portiert' wurde, ist das schon richtig gut. Und die Architekturen die damit umgehen können, gewinnen!
 
Miuwa schrieb:
Versteht mich nicht falsch: Alleine wegen dem Crossplatformansatz von Vulkan wäre es mir lieber wenn sich Vulkan durchsetzt

Es mag Vulkan zwar für diverse Plattformen geben aber das bringt keinen Vorteil bei der Portierung von Spielen.

LL API setzen voraus dass die Spiele so nah an der Hardware programmiert werden das ein Großteil des Code auf anderen Plattformen neu geschrieben werden muss.

Um es zu verdeutlichen, LL API sind so nah an der Hardware das für Nvidia und AMD separate Renderpfade gepflegt werden müssen weil die Designs sehr unterschiedlich sind.

Für Linux bringt Vulkan auch nichts weil das OS nur wenig verbreitet ist. Der Portierungsaufwand ist sekundär. Keine Firma ist daran interessiert Linux auf dem Desktop zu pushen. Valve ist dafür zu klein.

Solange kein Major Player ala Google Linux auf dem Desktop unterstützt, wird es nur wenig AAA Spiele dafür geben.

Locuza schrieb:
Wie gut eine GPU-Architektur auf DX12 zu sprechen ist, hängt im Wesentlichen von der Implementierung ab.

Das stimmt nur teilweise. Wenn Features von der Hardware nicht bereitgestellt werden, bringt selbst ein mit Liebe gepflegter Renderpfad nichts.

Nvidia schwächelt zb bei Async Shaders weil ihr Chipdesign es gar nicht vorsieht das in der gleichen Pipeline mehrere Aufgaben parallel berechnet werden.

Selbst Pascal ist nur ein gepatchter DX11 Chip der Async Shaders nicht parallel verarbeiten kann, sondern nur sehr schnell zwischen Tasks umschalten kann. Maxwell hat dafür noch mehrere hundert Taktzyklen benötigt.

Ohne vernünftige Hardware wird das nichts mit DX12 und Vulkan.
 
1. Natürlich bringt es einen Vorteil bei der Portierung, wenn Vulkan grundsätzlich auch auf anderen Plattformen verfügbar ist.

2. Für AMD und Nvidia müssen keine extra Renderpfade gepflegt werden, aber falls man optimale Ergebnisse erzielen möchte, dann mag das nötig sein, allerdings wird das stellenweise auch unter DX11 betrieben.

3. Man definiere erst mal was ein DX11-Chip ist, wer hier meint es hängt nur am Einsatz von der simultanen Ausführung von mehreren Queue-Typen ab, der macht es sich schon zu einfach.
Gänzlich ausgerichtet an eine API ist keine der Architekturen.
Man benötigt auch nicht zwingend die Fähigkeit unterschiedliche Operationen gleichzeitig ausführen zu können, wenn grundsätzlich weniger Leerlauf existiert, die Pipeline-Latenz gering ist und ein Wechsel von Aufgaben schnell stattfinden kann.
Selbst wenn man der Meinung ist, dass es schrecklich bei Nvidia aussieht, so läuft es unter DX11 mit den gleichen Beschränkungen ab, entsprechend gibt es hier wenig Argumente wieso DX12 und Vulkan für große Probleme sorgen sollten, solange die Implementierung nicht schlechter ist als die Umsetzung vom DX11/OGL-Treiber.

Quantum Break als explizites Beispiel verwendet nicht einmal Compute-Queues bei der PC-Version* und Anwendungen wo man Async Compute explizit testen kann wie beim 3D Mark Time Spy und Ashes of the Singularity zeigen auch keinen Performance-Missstand unter den beiden Konkurrenten an.
Schon seit das Thema existiert wird es stark überkocht und instrumentalisiert.


*
But though it's definitely DirectX 12, there doesn't seem to be anything actually being put into the compute queue at all. It's empty.
http://www.tweaktown.com/guides/7655/quantum-break-pc-performance-analysis/index2.html
 
Locuza schrieb:
1. Natürlich bringt es einen Vorteil bei der Portierung, wenn Vulkan grundsätzlich auch auf anderen Plattformen verfügbar ist.

Du behauptest etwas ohne anschließend zu erläutern warum das so sein soll?

Das ist nicht sehr glaubwürdig.

Mentalo schrieb:
Hier wird so viel Mist geschrieben. Ist euch nicht klar, dass Nvidia unter Directx11 schneller ist als AMD unter Directx12?
Wieso sollte Nvidia dann unter Directx12 mit den Pascal GPU´s langsamer werden?

Sie Pascal Karten sind deutlich leistungsfähiger uns teurer.

Was erwartest du?

Das Pascal nicht langsamer mit DX12 wird, mag sein. Profitieren die Karten denn signifikant von DX12 in Verbindung mit einer lahmen CPU?

Nein.

Also ist drin Beitrag nur das übliche gebrabbel um es mit deinen Worten zu sagen
 
kisser schrieb:
Nvidia verliert keine 40% mit DX12 sondern GEWINNT mit DX11, während der grottenschlechte AMD-Treiber das nicht zustande bringt.

Sorry ? WHAT ?

Früher hieß es immer unter DX11 sind die AMD Treiber schlecht und laufen früher ins CPU-Limit und die nVidia Karte nsind deswegen so ca. ~20% schneller @DX11 während @DX12 AMD dann in der Regel aufgeholt bzw. gleichstand hatte.

Sieht man ja auch gut im AMD @11 vs AMD @12 vergleich.

Die AMD-Karten waren bei früheren Tests immer entweder so schnell wie in DX11 oder schneller @DX12 (Ausnahme BF1 - aber das ist offensichtlich verbugged)

Und jetzt betrachte nVidia@DX11 vs nVidia DX12 - AMD erstmal außen vor. nVidia @DX12 MINUS 40%.

Das hat nix mit AMD vs nvidia zu tun. Der nVidia treiber ist @DX12 einfach nur SCHLECHT (in diesem Game auf jeden Fall).

EDIT2: nur bei DEUS EX hatte man den Fall dass der DX12 Port bei ALLEN grundsätzlich schlechter lief als die jeweilige DX11 implementation (immer gleiche GPU vergleichen @DX11/@DX12).
Bei ROTR ist eine Pascal @12 genauso schnell wie @DX11.
z.b. hier http://xilfyhits.com/v/PbP18-ebG8c
Das war nur am Anfang so vor mehr als 6 Monaten als DX12 neu war dass da 11 schneller war als 12.

Heutzutage 6 Monate nach dem RElease von DX12 erwarte ich das eigentlich @release eines games bei gleichen GPUs @DX11 und @DX12 in etwas das gleiche rauskommt.
Ob dabei GENERELL der DX12 port besser oder schlechter läuft ist dann Sache der Programmierer. Aber im direkten Vergleich z.B. nvidia 1080 @DX1 vs nvidia 1080 @DX12 solle man +- gleich rauskommen.
Bei AMD funktioniert das ja auch komischer weise - nur bei nVidia nicht.
 
Zuletzt bearbeitet:
Fakt ist, dass es fast schon ein Armutszeugnis für Nvidia ist, dass ein 5 Monate altes DX12 Spiel immer noch "scheiße" und signifikant langsamer läuft als mit DX11.
Das heißt entweder, dass Nvidia keinen Wert auf DX12 legt, es nicht optimiert, und somit gleichzeitig keinen Wert auf die eigenen Nvidia Käufer nimmt. Oder die Karten können es technisch kaum/garnicht umsetzen, weil die Architektur nicht wirklich für DX12 ausgelegt ist.

Sonst würde doch vor allem Nvidia mit ihren Ressourcen kaum fast ein halbes Jahr auf die DX11 Version warten, damit das Spiel "gescheit" läuft. Aber sie hatten immerhin fast 6 Monate um für DX11 zu optimieren...

Bei AMD kann man das Verhalten noch halbwegs nachvollziehen. Das Game ist ursprünglich exklusiv mit DX12 erschienen und wurde auch ausschließlich auf DX12 optimiert. Dass jetzt noch eine DX11 Version nachgeschoben wird, geht AMD vermutlich am Ars.. vorbei, weil die DX12 Version bereits länger existiert und auch "optimal" läuft. Vermutlich wird auch Steam noch ein DX12 Upgrade bekommen, weshalb es auch vergebene Liebesmüh (verschwendetes Budget) wäre, ein halbes Jahr später noch für DX11 zu optimieren.

Ich würde jederzeit die DX12 Variante bevorzugen, Frametimes, technischer Fortschritt und so. Mit Nvidia geht das nicht so einfach.
 
Zuletzt bearbeitet:
berkeley schrieb:
Fakt ist, dass es fast schon ein Armutszeugnis für Nvidia ist, dass ein 5 Monate altes DX12 Spiel immer noch "scheiße" und signifikant langsamer läuft als mit DX11.
Das heißt entweder, dass Nvidia keinen Wert auf DX12 legt, es nicht optimiert, und somit gleichzeitig keinen Wert auf die eigenen Nvidia Käufer nimmt. Oder die Karten können es technisch kaum/garnicht umsetzen, weil die Architektur nicht wirklich für DX12 ausgelegt ist.
Nochmal für dich: Bei DX12 wandert ein nicht unerheblicher Anteil der Verantwortung bzgl. Low-Level-Optimierungen vom Treiberprogrammierer and den Spieleentwickler (das ist der ganze Zweck dieser API). Umgekehrt bedeutet das aber auch, dass die Grakahersteller wesentlich weniger Möglichkeiten haben ihren Treiber für ein bestimmtes spiel zu optimieren, einfach weil der Treiber viel weniger macht / Freiheiten hat als vorher.

Wenn ein Spiel unter Dx12 also schlechter läuft als unter Dx11 muss das nicht zwangsweise heißen, dass der Grakahersteller einen schlechten Job bei der Dx12-Unterstützung gemacht ha. Es kann auch einfach bedeuten, dass er unter Dx11 mehr Leistung aus der Optimierung des Treibers rausgeholt hat als der Spieleentwickler aus der Optimierung des DX12 Renderingpfades.

Soll heißen: die Ergebnisse lassen sich auch so interpretieren, dass die die Nvidia Treiberentwickler einfach besser im Bereich Low-Level-Optimierung sind als die Entwickler von Quantum Beak und die AMD-Entwickler. Muss nicht so sein, aber ist genauso plausibel wie deine Erklärung.
 
Zuletzt bearbeitet:
Miuwa schrieb:
Nochmal für dich: Bei DX12 wandert ein nicht unerheblicher Anteil der Verantwortung bzgl. Low-Level-Optimierungen vom Treiberprogrammierer and den Spieleentwickler [...]
Soll heißen: die Ergebnisse lassen sich auch so interpretieren, dass die die Nvidia Treiberentwickler einfach besser im Bereich Low-Level-Optimierung sind als die Entwickler von Quantum Beak und die AMD-Entwickler. Muss nicht so sein, aber ist genauso plausibel wie deine Erklärung.

Erst schreibst du das die Treiberentwickler nur wenig Einfluß haben und im letzten Absatz verkündest du freudestrahlend das Nvidia LL API besser per Treiberoptimierung im Griff hat.

Was denn nun?!?

Mal davon abgesehen das die Realität ganz anders aussieht als du hier rein schreibst...

Nvidia profitiert bis dato nicht von LL API wenn eine schlappe CPU verwendet wird.
 
tek9 schrieb:
Du behauptest etwas ohne anschließend zu erläutern warum das so sein soll?

Das ist nicht sehr glaubwürdig.
Ich dachte das ergibt sich logisch von selber.
Vulkan ist eine spezifizierte API, alle API-Aufrufe und Shader sind unter jeder Plattform gleich.
Du kannst den Großteil vom ganzen Rendering-Code sowohl unter Windows, als auch unter Linux und Android verwenden.
Was machst du denn bei einer Portierung wenn du DX11/12 verwendest?
Die APIs sind grundsätzlich nicht verfügbar unter Linux/Android oder im Falle von DX12 nicht einmal unter Windows 7 und 8.
Hier muss du entweder das ganze Rendering-Backend um eine weitere API erweitert und entsprechend sehr viel Aufwand investieren oder du versuchst es dir etwas einfacher zu machen und entwickelst eine zusätzliche Emulationsschicht bzw. einen Wrapper für andere Plattformen, welche die Befehlsaufrufe mit den jeweiligen APIs auf der Plattform übersetzen, dass bedeutet allerdings auch Aufwand und ist nicht selten mit Performance-Einbußen verbunden.

Natürlich ist es wesentlich einfacher, wenn die Grafik-API grundsätzlich unter allen Plattformen verfügbar ist.

tek9 schrieb:
Erst schreibst du das die Treiberentwickler nur wenig Einfluß haben und im letzten Absatz verkündest du freudestrahlend das Nvidia LL API besser per Treiberoptimierung im Griff hat.

Was denn nun?!?

Mal davon abgesehen das die Realität ganz anders aussieht als du hier rein schreibst...

Nvidia profitiert bis dato nicht von LL API wenn eine schlappe CPU verwendet wird.
Er schreibt Low-Level-Optimierung, nicht Low-Level-API, damit meint er einfach das Nvidia im Treiber die Optimierungen besser hinbekommt, als der Entwickler unter DX12.

Falls das Spiel allerdings DX12 gut umsetzt und die CPU stark belasten kann, dann kann auch Nvidias DX11-Treiber nicht mehr mithalten, wenn schwächere CPUs verwendet werden.
Bei Ashes of the Singularity profitieren AMD Prozessoren auch unter Nvidia von DX12 (20% im Schnitt, 30-40% im Extremfall):
https://www.computerbase.de/2016-02/ashes-of-the-singularity-directx-12-amd-nvidia/5/
 
Miuwa schrieb:
Nochmal für dich: Bei DX12 wandert ein nicht unerheblicher Anteil der Verantwortung bzgl. Low-Level-Optimierungen vom Treiberprogrammierer and den Spieleentwickler (das ist der ganze Zweck dieser API). ...

Nochmal für dich. Sieh dir den Test hier an.
Ein Hersteller verliert 40% der andere 0%. Die Implementierung @programm ist dieselbe.

Wenn BEIDE verlieren würden wie z.B. bei Deus Ex test neulich bzw. bei BF1 - JA dann hast du recht ist die Implementierung schlecht.

Aber welchen Grund kann es hier geben das der eine nichts verliert und der andere 40% außer dem Treiber ?!? (Oder einem anderen seltsamen bug).
 
Kann ja sein, dass ich mich irre, aber irgendwie kommt dieser DX12-DX11 Spagat so vor, als ob Steam den Renderpfad geändert hat, damit Nvidia besser dasteht als zuvor.

Denn ich finde irgendwie keine andere Erklärung dafür, dass eine GT1060 unter DX11 schneller ist als eine 980ti (und das ist ja beileibe keine schwächliche Karte) unter DX12.

Und die gleiche 980ti setzt zum Höhenflug unter DX11 an und deklassiert dabei die GTX1080 unter DX12.

Sorry, aber irgend etwas stimmt dabei so ganz und gar nicht.
 
Iscaran schrieb:
Nochmal für dich. Sieh dir den Test hier an.
Ein Hersteller verliert 40% der andere 0%. Die Implementierung @programm ist dieselbe.

Wenn BEIDE verlieren würden wie z.B. bei Deus Ex test neulich bzw. bei BF1 - JA dann hast du recht ist die Implementierung schlecht.

Aber welchen Grund kann es hier geben das der eine nichts verliert und der andere 40% außer dem Treiber ?!? (Oder einem anderen seltsamen bug).
Die DX12-Implementierung ist vielleicht die gleiche unter beiden Herstellern, allerdings muss der Entwickler sich unter DX12 um die Speicher-Verwaltung und die Daten-Zugriffe selber kümmern, was unter DX11 der Treiber selber erledigt.
Insofern implementieren die DX11-Treiber je nach GPU-Familie und natürlich Hersteller, die Befehle in einer Art und Weise die mehr oder weniger optimal für die GPU sind.
Wenn der Entwickler unter DX12 allerdings stets nur einen Renderpfad besitzt, dann kann das sub-optimal für eine Architektur ausfallen und der anderen mag es egal sein oder gänzlich davon profitieren.
Man sollte vielleicht auch im Kopf behalten, dass in den Konsolen GCN verbaut ist und die DX12 Implementierungen tendenziell pro GCN optimiert sein könnten.

Man kann auch eine andere Überlegung einwerfen, 20-40% sind schon eine Hausnummer und der DX12-Treiber hat zwar noch die Kontrolle über die Optimierung der Pipeline-State-Objects und bezüglich anderer Dinge, aber wenn der Unterschied so stark ausfällt, müsste der DX12 Treiber sehr kaputt sein, unter anderen DX12 Anwendungen läuft es aber nicht so krass ab.
Wenn der Entwickler Remedy selber meint das sie mit DX11 mehr Erfahrung haben, dann würde ich schon meinen, dass die Probleme viel mehr bei der Implementierung vom DX12 Pfad zu finden sind, als dem DX12-Treiber vom Hersteller.
 
Zuletzt bearbeitet:
Miuwa schrieb:
Nochmal für dich: Bei DX12 wandert ein nicht unerheblicher Anteil der Verantwortung bzgl. Low-Level-Optimierungen vom Treiberprogrammierer and den Spieleentwickler (das ist der ganze Zweck dieser API).
Wie bereits von mehreren erläutert und auch aus dem Test hervorgeht, kann die DX12 Umsetzung so schlecht nicht sein, wenn es mit AMD einwandfrei läuft.
Entweder kann bei Nvidia die Hardware nicht oder es wird dort kein Wert auf DX12 gelegt.
Nur weil Nvidia mit DX 12.1 Unterstützung wirbt, musst das noch lange nichts bedeuten, wie man sehen kann.

Selbst DX11 mit AMD läuft besser als DX12 mit Nvidia...
 
Locuza schrieb:
Ich dachte das ergibt sich logisch von selber.
Vulkan ist eine spezifizierte API, alle API-Aufrufe und Shader sind unter jeder Plattform gleich.

Wenn du mit "jeder Plattform" verschiedene PC Betriebssysteme meinst, mag das stimmen.

Aber wenn sich die Hardware ändert bleibt nicht viel Code übrig den du 1:1 portieren kannst. Z.b. Bei PC - > Konsolen geht nicht viel.

Windows - > Linux / OS X wohl eher.
 
EchoeZ schrieb:
Wenn DX12 so schlecht ist, bzw nach der Meinung Mancher hier, warum rennt dann z.B. Forza Horizon 3 auf Polaris so gut?
FPS auf Augenhöhe mit GTX980Ti und GTX1080, und die Frametimes sind sogar noch besser!
Anhang anzeigen 583919

Vermutlich ist auch diese DX12-Implementierung einfach Mist oder PCGH hat Mist gemessen. Die Fury X soll deutlich von einer RX470 geschlagen werden? Niemals!
Ergänzung ()

tek9 schrieb:
Um es zu verdeutlichen, LL API sind so nah an der Hardware das für Nvidia und AMD separate Renderpfade gepflegt werden müssen weil die Designs sehr unterschiedlich sind.

Nein, auch Dx12 ist keine LL-API im eigentlichen Sinne.
Ergänzung ()

Locuza schrieb:
2. Für AMD und Nvidia müssen keine extra Renderpfade gepflegt werden, aber falls man optimale Ergebnisse erzielen möchte, dann mag das nötig sein, allerdings wird das stellenweise auch unter DX11 betrieben.

Richtig.
Ergänzung ()

Iscaran schrieb:
Sorry ? WHAT ?


Und jetzt betrachte nVidia@DX11 vs nVidia DX12 - AMD erstmal außen vor. nVidia @DX12 MINUS 40%.

Sorry, aber die DX12 Implementierung von Quantum Break ist einfach nur Müll. Daraus Schlüsse über den DX12 Treiber zu ziehen ist einfach absurd.
 
@ tek9

Ja, verschiedene Betriebssysteme.
Da die Konsolen weder Vulkan, OGL noch "Vanilla" DX11/12 unterstützen, wird man hier immer Aufwand betreiben müssen, allerdings auf der Xbox One zu oder von weniger, wenn man sich auf DX beschränkt, da es sehr viele Gemeinsamkeiten gibt.
OSX und iOS unterstützen leider auch kein Vulkan, da ist man praktisch gezwungen Metal umzusetzen, da praktisch OGL 4.1 und OGL ES 3.0 nutzlos sind, weil zu viele moderne Features wie Computer-Shader fehlen.
 
Miuwa schrieb:
Wenn ein Spiel unter Dx12 also schlechter läuft als unter Dx11 muss das nicht zwangsweise heißen, dass der Grakahersteller einen schlechten Job bei der Dx12-Unterstützung gemacht ha. Es kann auch einfach bedeuten, dass er unter Dx11 mehr Leistung aus der Optimierung des Treibers rausgeholt hat als der Spieleentwickler aus der Optimierung des DX12 Renderingpfades.

Das ist genau das Problem von DX12 auf den Punkt gebracht!
Ich denke, diese Art der Programmierung wird bald wieder verschwinden und die nächste DX-Version sich wieder mehr an DX11 orientieren, denn der Mehraufwand bei der Programmierung von DX12 steht in keinem guten Verhältnis zum Ergebnis.
Ergänzung ()

Iscaran schrieb:
Aber welchen Grund kann es hier geben das der eine nichts verliert und der andere 40% außer dem Treiber ?!? (Oder einem anderen seltsamen bug).


Weil bei dem einen nichts mehr zu verlieren ist, da deren DX11 Treiber schon den worst-case darstellen!!
Die DX12-Umsetzung des Spiels ist genauso beschissen wie AMDs DX11 Treiber-Optimierung dafür.

Verstanden?
 
Zuletzt bearbeitet:
kisser schrieb:
Sorry, aber die DX12 Implementierung von Quantum Break ist einfach nur Müll. Daraus Schlüsse über den DX12 Treiber zu ziehen ist einfach absurd.

Sorry. Deine Schlussfolgerung ist einfach absurd.
Wenn die Implementierung "murks" wäre (wie z.B. bei Deux Ex) dann würden ALLE DX12 Karten (gleichermaßen) verlieren und nicht nur die einen.

EDIT:
Weil bei dem einen nichts mehr zu verlieren ist, da deren DX11 Treiber schon den worst-case darstellen!!
Die DX12 Umsetzung des Spiels ist genauso beschissen wie AMDs DX11 Treiber-Optimierung dafür.

Verstanden?
https://www.computerbase.de/2016-09/quantum-break-steam-benchmark/3/

Und deswegen ist @DX11 die AMD 480 genau 15% HINTER der 1060 - wo sie in DX11 spielen immer sind...siehe letzte CB-Tests im Durchschnitt) und @DX12 ist dann nVidia plötzlich 40% langsamer und AMD exakt gleich schnell was NOCH NIE der fall war in so einer Konstellation....

Liegt natürlich an AMDs murks DX11. Und nicht etwa an nVidias schlechterem DX12 treiber oder (architektur ?)
 
Zuletzt bearbeitet:
Zurück
Oben