News DirectX 12: Disput zwischen Oxide und Nvidia geht weiter

Matzegr schrieb:
Eine mögliche Erklärung für die scheinbar hohe Latenz bei GCN wenn man das Programm aus dem Beyond3D Forum nutzt.

Das ist interessant.
Aber seine Hoffnung am Ende wird sicher vergebens sein:
This means that the burden is on developers to ensure they're optimizing for both. In the past, this hasn't been the case. Going forward... I hope they do. As for GameWorks titles, don't count them being optimized for GCN. That's a given. Oxide played fair, others... might not.

Entweder, es setzt sich durch wegen der ohnehin schon in Konsolen vorhandenen AMD GPU, oder aber NV kauft sich einfach entsprechend weiter ein bei den Spieleentwicklern wie bisher.
 
strex schrieb:
Das ist nicht Richtig, der Wechsel zwischen Compute und Graphics ist seriell. Maxwell kann jedoch mehrere Compute Tasks gleichzeitig bearbeiten. Kommt dann aber in der Queue ein Graphics Task, muss er warten bis alle Compute Tasks abgeschlossen sind.
Und da dieser Prozess sowohl für das Abarbeiten von Compute als auch von Graphics Operations abhängig ist (sprich alle Operationen von einem Modul verwaltet werden müssen), brauchst du entsprechende Semaphore, die den Gesamtprozess zwar seriell, aber nicht parallel gestalten können.

Das Ergebnis hiervon sind Mikroruckle bzw. unregelmäßige Verzögerungen im ms Bereich, die je nach Queue und Computing Task(s) auch 50ms dauerhaft übersteigen können.

mfg,
Max
 
cruse schrieb:
Grafik kann ich schlecht beurteilen, aber gameplay: shooter vs strategiespiel.... bananen sind besser als birnen ! Der gelbe Zettel ist besser als der Rote!

Was ist ein besserer Test für eine neue Engine als ein state-of-the-art 3D-Shooter? Ark Survival hat jetzt schon eine große Community und das Spiel beweist auch schon gutes Gameplay. Sieht man von den beta-bugs noch ab, ist es schon auf einem guten Stand. Release ist voraussichtlich in einem Jahr.

Bei Ashes of the Singularity ist vieles noch nicht klar. Die Entwickler scheinen noch mit den Konzepten zu ringen. Darüber hinaus müssen die relativ unbekannten "Oxide Games" erst einmal beweisen wie gut sie programmieren können. Die Nitrous-Engine hat noch kein einziges fertig gestelltes Spiel gesehen. Außer der Star Swarm Demo, die als Material für Mantle diente, kam bisher noch nichts.

Du wirst mir sicher verzeihen, wenn ich sage, ein Shooter ist aufwändiger in der Entwicklung als ein RTS. Der Detailgrad und eine interagierende Welt erfordern mehr können als Copy & Paste Einheiten. In erster Linie macht ein RTS nur die Logik aus. Davon fehl in dieser Diskussion jegliche Andeutung. Einfach nur die Anzahl der Einheiten erhöhen macht noch lange kein gutes Spiel.
 
Zuletzt bearbeitet:
Habe den ganzen thread gelesen. Sehr unterhaltsam ;) zusammenfassend bleibt die Frage wie gut die beiden konkurrierenden Architekturen in echten Spielen von dx12 profitieren und ob bei nvidia tatsächlich hardwareseitig asynchronous shader fehlen und dann zum Flaschenhals werden. Wird spannend :)
 
Hardware_Hoshi schrieb:
Du wirst mir sicher verzeihen, wenn ich sage, ein Shooter ist aufwändiger in der Entwicklung als ein RTS. Der Detailgrad und eine interagierende Welt erfordern mehr können als Copy & Paste Einheiten. In erster Linie macht ein RTS nur die Logik aus. Davon fehl in dieser Diskussion jegliche Andeutung. Einfach nur die Anzahl der Einheiten erhöhen macht noch lange kein gutes Spiel.

*zu Theater of War rüber schielt*

Man darf nicht immer nur RTS im Stile der althergebrachten RTS Spiele ala Warcraft/Starcraft etc. betrachten.
Das Genre geht weit darüber hinaus und viele der "realistischeren" RTS bzw. RTS Spiele, die einen höheren Realismus anstreben (Theater of War, Men of War Serie etc.), haben arghe Performance-Probleme (weil eben alles einzeln berechnet werden muss und die Einheiten nicht alle Copy-Past sind) und hier kann die Parallelisierung doch sehr gut helfen.

Und was den Detailgrad angeht: schau dir die Men of War / Soldiers Serie an, der Detail- und Zerstörungsgrad der Landschaft etc. ist dort teilweise höher als bei manchem Shooter vom Schlage eines Crysis/BF.

Daher ist eine Aussage wie "Shooter sind aufwändiger in der Entwicklung" doch etwas kurzsichtig.
Es kommt am Ende her drarauf an, was man als Entwickler wirklich umsetzen will. Ein Shooter mit statischer Welt (und das sind gefühlt quasi 90% aller Shooter) dürfte einfacher (auch von der Performance her) umzusetzen zu sein als etwa ein RTS mit einer Vielzahl von individuellen Einheiten und Zerstörungsphysik.
 
Ein bisschen mehr detaillierter Hintergrund wie und weshalb AMD nun so stark von "Async" profitiert und warum AMD in DX11 "schwächelt".

AMD hat das "optimieren" auf serielle Thread Abarbeitung schon lange aufgegeben...seit GCN ist die Architektur auf Parallelität und zunehmend auch Async ausgelegt.

http://www.techpowerup.com/forums/t...rform-better-than-nvidia-in-direcxt12.215474/

EDIT: hier noch die Originalquelle:
http://www.overclock.net/t/1569897/...singularity-dx12-benchmarks/400#post_24321843

Ich zitiere den relevanten Teil der Conclusion:

"People wondering why Nvidia is doing a bit better in DX11 than DX12. That's because Nvidia optimized their DX11 path in their drivers for Ashes of the Singularity. With DX12 there are no tangible driver optimizations because the Game Engine speaks almost directly to the Graphics Hardware. So none were made. Nvidia is at the mercy of the programmers talents as well as their own Maxwell architectures thread parallelism performance under DX12. The Devellopers programmed for thread parallelism in Ashes of the Singularity in order to be able to better draw all those objects on the screen. Therefore what were seeing with the Nvidia numbers is the Nvidia draw call bottleneck showing up under DX12. Nvidia works around this with its own optimizations in DX11 by prioritizing workloads and replacing shaders. Yes, the nVIDIA driver contains a compiler which re-compiles and replaces shaders which are not fine tuned to their architecture on a per game basis. NVidia's driver is also Multi-Threaded, making use of the idling CPU cores in order to recompile/replace shaders. The work nVIDIA does in software, under DX11, is the work AMD do in Hardware, under DX12, with their Asynchronous Compute Engines.

But what about poor AMD DX11 performance? Simple. AMDs GCN 1.1/1.2 architecture is suited towards Parallelism. It requires the CPU to feed the graphics card work. This creates a CPU bottleneck, on AMD hardware, under DX11 and low resolutions (say 1080p and even 1600p for Fury-X), as DX11 is limited to 1-2 cores for the Graphics pipeline (which also needs to take care of AI, Physics etc). Replacing shaders or
re-compiling shaders is not a solution for GCN 1.1/1.2 because AMDs Asynchronous Compute Engines are built to break down complex workloads into smaller, easier to work, workloads. The only way around this issue, if you want to maximize the use of all available compute resources under GCN 1.1/1.2, is to feed the GPU in Parallel... in comes in Mantle, Vulcan and Direct X 12.

People wondering why Fury-X did so poorly in 1080p under DirectX 11 titles? That's your answer."
 
Zuletzt bearbeitet:
Hardware_Hoshi schrieb:
So funktionieren Asynchronous Shader aber nicht. Im Prinzip ist das nichts anderes als eine optimierte Lastverteilung um auf der GPU immer möglichst 100% Auslastung zu erreichen. Die verschiedenen Aufgaben werden sobald wie möglich parallel verarbeitet statt bisher nacheinander. Sobald die Shader (-> Arbeiter in der GPU) nicht mehr zu tun haben, wird ihnen sofort eine neue Aufgabe zugeteilt. Wichtige Aufgaben haben hierbei Vorrang.

Im Schnitt arbeitet eine GPU bei Spielen um die 80% Auslastung. Mit der "Asynchronous Shader-Methode" versucht man das so gut wie möglich auf 100% zu bekommen. Das heißt man hat theoretisch Potential für 20% mehr. Hättest du +50% wäre deine Effizienz nicht höher, denn die GPU hat vorher bereits alle Aufgaben erledigt. So hohe Zuwächse wirst du also niemals erreichen!

Die eigentlichen Aufgaben werden genau so schnell bearbeitet wie vorher. Nur die einzelnen Shadereinheiten arbeiten jetzt zusammen als Gruppe im Akkord. Eine XBOX One wird durch Asynchronous Shader übrigens kaum schneller, da die Einheiten alle bereits größtenteils ausgelastet sind. Hier wären +5% bereits utopisch! Den Unterschied würdest du kaum merken....

Alles gut und richtig allerdings meinte ich nicht, dass die GPUs 50% schneller werden sondern, dass 50% der Käufer eines Spiels davon profitieren würden. Das bezog sich auf "lasst es weg. Das Feature kostet Zeit, kann Probleme machen und bringt nur was bei 20% unserer Zielgruppe." - Azdak

;)
 
Krautmaster schrieb:
richtig, aber je nach dem wie gut Nvidia bereits heute die Auslastung der eigenen GPU im Griff hat, durch ggf. andere Techniken und Architektur, sind dinge wie Async Shader natürlich bedeutend unbedeutender als bei AMD die offensichtlich teils ein Auslastungsproblem bei der GPU haben, sieht man schon an dem Flop zu Spieleleistungs Verhältnis.

Nur hat AMD dann aber weniger Bedarf an Optimierung, wenn es um Games geht. Wir werden es dann eh bei der 970 GTX sehen, sobald Pascal draußen ist. Da Pascal ja auf eine neue Architektur setzt, bin ich gespannt wie gut die Auslastung dann sein wird, bzw die Treiber. Speziell weil die 970 GTX ja ein extra Würstchen ist.

Und was ACE bei AMD unter DX12 angeht. Durch die höhere Performance steigt die Effizienz. Theoretisch könnte man dann im Schnitt den GPU Takt Beispiel der R9 390 senken. Somit würde auch der Verbrauch sinken und man würde sich der 970 annähern.

Was zeigt das uns ? Dass es genauso ist, wie ich es damals gesagt habe. Maxwell ist die letzte richtige DX11 Grafikkarte. Genau das habe ich schon vor Monaten gesagt. Aber da wurde ich bezüglich ACE, Compute Shader ect immer belächelt.
Wie gesagt, die wirklichen Compute Shader Games, mit physikbasierten Games kommen ja erst. Da die Physik Effekte nicht am Render Target angewiesen sind, so wie es bei PhysX der Fall ist, wird man auch hier von ACE profitieren. Das heißt hier wird NV auch noch mal "Treiber-Optimierungen" benötigen.

Iscaran
Danke für den Beitrag.
 
Zuletzt bearbeitet:
@Iscaran,

das meinte ich, nen paar Seiten vorher.
Auch wenn du es nun den faulen vor die Füße schmeißt, verstehen wird es keiner. Konsumschafe dürfen nicht verstehen. Nur das, was man ihnen zu verstehen gibt. Alles außerhalb existiert nicht und ist Propaganda.

Aber " Treiber ist schuld " schreien könnens alle :D
 
Zuletzt bearbeitet:
Relaxo32 schrieb:
Das ist interessant.
Aber seine Hoffnung am Ende wird sicher vergebens sein:


Entweder, es setzt sich durch wegen der ohnehin schon in Konsolen vorhandenen AMD GPU, oder aber NV kauft sich einfach entsprechend weiter ein bei den Spieleentwicklern wie bisher.

Der Vorteil ist, heute werden viele Spiele zuerst für die Konsolen gebastelt, und dann auf den PC portiert. Auf den Konsolen wird es definitiv GCN optimierte Async Shader geben, und der Pfad für NVidia-Optimierungen muss zusätzlich implementiert werden.
 
Ihr habt euch aber schon mal die Benchmarkergebnisse, um die es geht, angeguckt und gesehen, dass Nvidia zwar nicht so stark zulegt, wie AMD, aber auch wirklich absolut nicht ins unspielbare verliert?
DX12.PNG

Ihr tut hier ja teilweise so, als würde man, wenn man AC einschaltet, nur noch eine Ruckelorgie erleben. Ja, im Gegensatz zu DX11 gibt es kaum Verbesserung, es verschlechtert sich sogar minimal, aber der Welt Untergang ist das nun wirklich nicht.
 
@ Iscaran:
Tut mir leid aber der von dir zitierte Beitrag ist sehr kauderwelschig und liest sich in etwa danach als ob der Autor nur wenig Ahnung hätte. Treiberseitige Shaderoptimierungen sind so in etwa komplett unabhängig von der API und haben so ungefähr gar nichts mit ACEs zu tun. Unter anderem findet das Compilieren für eine spezifische GPU ja erst im Graphiktreiber statt. Da ist es eben eine beliebte Strategie der GPU-Hersteller den Quelltext der Shader von Spielen dann per Hand zu optimieren und optimiert in den GPU-Treiber einzufügen. Übergibt ein Spiel dann den Quelltext eines Shader zur Compilierung dann schaut der GPU-Treiber nach, ob für den Quelltext eine optimierte Version vorhanden ist wenn ja dann nimmt er diesen für die Kompilierung. Dadurch läuft der Shader an sich nun schneller. Diesen Speedup gibt es zusätzlich zu dem Speedup, den man durch die erhöhte Auslastung der GPU durch ACEs erzielen kann.


Eventuell schreibe ich später noch mehr. Gerade leider keine Zeit.
 
Moon_Knight schrieb:
Ihr habt euch aber schon mal die Benchmarkergebnisse, um die es geht, angeguckt und gesehen, dass Nvidia zwar nicht so stark zulegt, wie AMD, aber auch wirklich absolut nicht ins unspielbare verliert?
Anhang anzeigen 512840

Ihr tut hier ja teilweise so, als würde man, wenn man AC einschaltet, nur noch eine Ruckelorgie erleben. Ja, im Gegensatz zu DX11 gibt es kaum Verbesserung, es verschlechtert sich sogar minimal, aber der Welt Untergang ist das nun wirklich nicht.

Wird wohl daran liegen, das AC hier ausgeschaltet ist ;) siehe Posts, die hier schon x mal zitiert wurden. Auf Wunsch von Nvidia sind die AC bei deren Karten aus.
 
Relaxo32 schrieb:
Man darf nicht immer nur RTS im Stile der althergebrachten RTS Spiele ala Warcraft/Starcraft etc. betrachten.
Das Genre geht weit darüber hinaus und viele der "realistischeren" RTS bzw. RTS Spiele, die einen höheren Realismus anstreben (Theater of War, Men of War Serie etc.), haben arghe Performance-Probleme (weil eben alles einzeln berechnet werden muss und die Einheiten nicht alle Copy-Past sind) und hier kann die Parallelisierung doch sehr gut helfen.

Die Zeiten der klassischen Aufbaustrategiespiele ist eh vorüber. Außer Warcraft und Starcraft gibt es in diesem Genre kaum noch gute Kandidaten. Ich kenne theater of War und Men of War leider nicht. Dachte da eher an die "Dawn of War II Reihe". Die hat ihrerzeit auch massig CPU zum Frühstück verspeist.

Das man da noch wie blöd die Anzahl der Einheiten aufpumpen muss, ist meiner Ansicht nach idiotisch. Masse statt Klasse macht noch kein gutes Spiel. Was mich an Ashes of The Singularity so stört, ist die Übersichtlichkeit. Je mehr Einheiten man hat, desto mehr muss man rauszoomen. Vom Detailgrad ist dann nicht mehr viel übrig, auch wenn er vorhanden wäre. Grafisch sieht der Titel für mich auch altbacken aus. Irgendwie ist da nichts, das diesen Aufruhr um das Spiel erklärt. Bisher war es jedenfalls nur eine technische Machbarkeitsstudie.


Relaxo32 schrieb:
Und was den Detailgrad angeht: schau dir die Men of War / Soldiers Serie an, der Detail- und Zerstörungsgrad der Landschaft etc. ist dort teilweise höher als bei manchem Shooter vom Schlage eines Crysis/BF.

Habe mir die Titel gerade angesehen. Es stimmt was du sagst, aber AOTS ist nicht ansatzweise so detailiert. Geredet hatten wir über ARK Survival Evolved, also kein 0815-Shooter wie Call of Duty oder Crysis, welchesauch nur eine Techdemo war. Von der Spieltiefe fangen wir besser nicht an.

Um so schlimmer ist es, wenn ein unbedeutendes Entwicklerstudio wie Oxide die PR vom Partner AMD auf den Konkurrenten überträgt.


Relaxo32 schrieb:
Daher ist eine Aussage wie "Shooter sind aufwändiger in der Entwicklung" doch etwas kurzsichtig.
Es kommt am Ende her drarauf an, was man als Entwickler wirklich umsetzen will. Ein Shooter mit statischer Welt (und das sind gefühlt quasi 90% aller Shooter) dürfte einfacher (auch von der Performance her) umzusetzen zu sein als etwa ein RTS mit einer Vielzahl von individuellen Einheiten und Zerstörungsphysik.

Shooter sind grafisch auf jeden Fall aufwändiger. Die Leistungsoptimierung könnte bei RTS umfangreicher sein, das hängt aber von Fall zu Fall ab. Zerstörungsphysik ist dann unabhängig vom Genre noch einmal eine andere Baustelle. Eine Vielzahl von individuelle Einheiten sind ja OK, aber nicht der inflationäre Gebrauch davon.


poi schrieb:
Alles gut und richtig allerdings meinte ich nicht, dass die GPUs 50% schneller werden sondern, dass 50% der Käufer eines Spiels davon profitieren würden. Das bezog sich auf "lasst es weg. Das Feature kostet Zeit, kann Probleme machen und bringt nur was bei 20% unserer Zielgruppe." - Azdak

Leider hat AMD nur höchstens ein Fünftel des Marktes (Stand Q3/2015). Für ein Entwicklerstudio und vor allem deren Publisher kostet jedes zusätzliche Feature viel Geld. Die anschließende Test und Optimierungsphase bezahlt auch niemand. Natürlich lässt man diese dann Weg. Nur für eine Randgruppe lohnt sich der Aufwand jedenfalls nicht.

Asynchronous Shader sind nicht einmal fester Bestandteil von DirectX12, sondern nur optional. Man kann es fast als AMD-spezifisches Feature sehen. Traurig, denn AMD verliert als Unternehmen immer mehr an Bedeutung (zuletzt 18% Marktanteil bei diskreten Grafikkarten). Die Konsolen sind der einzige Faktor, der sie noch über Wasser hält. Der Großteil der Industrie wird jedenfall nicht die Nischenlösungen zuerst bedienen.
 
Zuletzt bearbeitet:
Moon_Knight schrieb:
Ihr habt euch aber schon mal die Benchmarkergebnisse, um die es geht, angeguckt und gesehen, dass Nvidia zwar nicht so stark zulegt, wie AMD, aber auch wirklich absolut nicht ins unspielbare verliert?
Sagt doch keiner, dass NV hier unspielbar wäre. NV hat schon mit DX11 gute Vorarbeit geleistet und legt mit DX 12 nicht sonderlich zu.
Man freut sich halt für AMD, dass sie so einen großen Performanceschub bekommen.
Aber viele NV-gönner scheinen das AMD eher nicht zu gönnen, dass da plötzlich die geheiligte 980 Ti plötzlich von einer vermeintlich uralten 290 X in DX 12 herausgefordert wird.
 
Moon_Knight schrieb:
Nein, das ist direkt nach Benchmarkrelease, als das Drama anfing. Entsprechende Werte kannst du dir auch von wcctftech holen.
http://wccftech.com/ashes-singularity-alpha-dx12-benchmark/

http://wccftech.com/oxide-games-dev-replies-ashes-singularity-controversy/


P.S. There is no war of words between us and Nvidia. Nvidia made some incorrect statements, and at this point they will not dispute our position if you ask their PR. That is, they are not disputing anything in our blog. I believe the initial confusion was because Nvidia PR was putting pressure on us to disable certain settings in the benchmark, when we refused, I think they took it a little too personally.

AFAIK, Maxwell doesn’t support Async Compute, at least not natively. We disabled it at the request of Nvidia, as it was much slower to try to use it then to not.

Das worauf du dich wohl beziehst sind die weiteren Einstellungen (part 1 des zitierten) bei dem Nvidia diese ebenfalls zu ihrem Vorteil ausgestellt haben wollte.
 
Für Nvidia sind ACEs aus, für AMD an.
Der Test zeigt laut Oxide Entwickler nicht die Vorteile von ACEs. Er hat aber angemerkt, dass es eine "katastrophe" mit ACEs bei Nvidia war.
Die Kommentare die zu Nvidia gemacht wurden haben in der Hinsicht nicht viel mit dem AotS Benchmark zu tun. Die Kommentare haben lediglich die Erfahrungen des Entwicklers mit der Arbeit und Zusammenarbeit mit Nvidia wiedergegeben und nicht die Benchmarkergebnisse erklärt.

@Hardware_Hoshi deswegen habe ich die Konsolen erwähnt. Daraus wird der Anteil potenzieller Kunden mit AMD Hardware signifikant größer. Ich habe einfach 50% geraten.
 
Zuletzt bearbeitet:
@issenia
Klar gönne ich das AMD. Ich wollte nur mal ansprechen, dass diese "Weltuntergangsstimmung" und "alle mit NV-Grafikkarten haben sich Müll andrehen lassen"-Gerede doch etwas über das Ziel hinausschlägt.
Blöd ist es natürlich. Wäre AC vernünftig drin, könnte man mit einer Nvidia noch viel besser dastehen. Ist aber scheinbar nicht so. Trotzdem steht man gut da und keiner muss jetzt seinen Kauf anzünden oder sich sonstwie geißeln.
Ist mal wieder unschön und jeder muss seine Schlüsse daraus ziehen. Wegen meiner darf auch der Ein oder Andere wutentbrannt die Marke wechseln.
Die Kirche sollte nur im Dorf gelassen werden. ^^

@die zwei über mir: ihr habt den Vorgang falsch verstanden. Aufgrund dieser Ergebnisse (oben verlinkt) hat sich Nvidia zu einem Statement hinreißen lassen und von Oxide das Abschalten erwirkt (sie wollten es eigentlich für AMD auch, bekamen es aber nicht).
Die ersten Benchmarkergebnisse sind also noch falide, was auch zu dieser Conclusion auf wcctftech führte:
While the AMD tests paint a fairly consistent picture, the same cannot be said of NVIDIA, which yielded inconclusive results including two performance losses out of three. The company clearly knows it, which is why they released a statement about how this isn’t a good DX12 benchmark to assess the performance of the new API.

Speziell an nospherato:
Nvidia unterstützt AC. Nur nicht so, wie es sein sollte. Ihre Karten sind auf serielle Abarbeitung ausgelegt, emulieren aber AC wohl, was zu diesem Bild führte.
 
Zuletzt bearbeitet:
@poi
Ja, es geht mir nur darum, dass wir gar nicht wissen, wie die Benchmarks aussehen würden, wären die ACs bei Nvidia an, da diese ja bereits zum Benchmark erscheinen ausgestellt waren.
Und nicht, wie Moon_Knight es darstellt, dass die Benchmarkergebnisse mit eingeschalteten ACs gebenched wurden und somit zu Ungunsten von Nvidia ausgefallen sind.

@Moon_Knight
Genau das... AMD zieht gleich (zumindest hier)... gut ist das für beide Seiten, seien es die Nvidia oder AMD Käufer, sollte es so bleiben.
So würde sich evtl. auch endlich mal wieder etwas mehr am Preis tun.
 
Zurück
Oben