News DirectX 12: Disput zwischen Oxide und Nvidia geht weiter

Eine Woche vor den Benchmarks war in den Entwicklerkreisen anderer Games ( Interner Austausch zwischen denen )bekannt, dass die AS ein Negative Scaling bei Nvidia verursachen
Wenn du dafür ne Quelle hast würd mich das interessieren !
 
Mich - wie gesagt - auch. Wenn ich mich irre, gebe ich das gerne auch zu, nur sehe ich das - nach momentaner Sachlage - nicht.
Von CB:

Die ersten Testergebnisse kommentierte Nvidia seinerzeit damit, dass der Titel kein guter Indikator für die Performance von DirectX-12-Spielen sei. Zudem war die Rede von einem Problem mit MSAA, das die Spieleschmiede beheben müsse. Oxide Games sah dies allerdings anders. Die Entwickler versicherten, dass AMD, Intel und Nvidia bereits seit über einem Jahr Zugriff auf den Quellcode besäßen und seit Monaten mit dem Titel arbeiten. Dennoch wies auch Oxide Games darauf hin, dass anfängliche Probleme aufgrund der neuen API alles andere als ungewöhnlich sind. Die Anpassung der Treiber benötige schlichtweg Zeit.

Ich lese hier den mutmaßlichen Versuch, den Performanceabfall auf die Inkompetenz von Oxide zu schieben. Die sehen das gar nicht so, räumen aber ein, dass noch einiges an Arbeit erledigt werden muss.
 
Man könnte sich ja einfach darauf einigen, dass man mehr und andere DX12 Benchmarks abwarten muß um die Sachlage zu beurteilen. Für mich ist Oxide niemand, der seine Kompetenz in der Vergangenheit bewiesen hat und somit die Zukünftige Performanz von DX12 GPU's in anderen Spielen aufzeigen kann.

Wenn heute DX12 auf AMD GPU's besser läuft als DX11 dann ist das erst einmal schön für AMD aber es zeigt auch wie gut NVidia bei DX11 in der Vergangenheit optimiert hat. Ich gehe einfach davon aus, dass sich diese Optimierung bei DX12 für NVidia fortsetzen wird und nach lange nicht den Stand hat den wir heute sehen.
 
Na das spielt doch AMD selbst in die Karten. ;)
Die Diskussion um fehlende Features(-Level) gab es ja nun länger und wurde AMD ja zum Nachteil ausgelegt. Das Statement, dass alle ihre Vorzüge und Nachteile haben, ist also nicht so ganz uneigennützig.
 
Sagt ja auch keiner. Nur würde nVidia so etwas eben nicht veröffentlichen. Sie würden eher sagen, was bei unseren GPUs in Sachen DX 12 fehlt ist nicht so schlimm. Aber was bei AMD fehlt, das ist schrecklich.
 
pipip schrieb:
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.
bedingt.
Aktuell dürfte der der Aufwand überhaupt Async Shader zu implementieren größer sein und ist ohnehin ja erst mit DX12 auf einer breiten Fläche möglich, wenn gleich es dort genauso die Komplexität extrem erhöhen kann. Multithreading ist selten wirklich einfach und quasi immer deutlich aufwändiger als etwas seriell abarbeiten lassen. Wenn der Gewinn nur wenige % beträgt gibt man sich wohl selten die Mühe überhaupt dahingehend die Engine auszulegen... mag aber sein dass der Vorteil bei künftigen, größeren und schwereren GPU zunimmt.
Ist natürlich auch Market Share getrieben.

Nur weil etwas möglich ist muss es nicht zwingend eingesetzt werden, auch grade wenn es um Wirtschaftlichkeit geht werden sich das vielleicht eh nur ganz große Titel udn Engines leisten können und selbst dann ist die Frage ob die Asynchronen Shader so intensiv eingesetzt werden, dass den Nvidias die Luft ausgeht... oder sie vielleicht bei kleinerer Parallelisierung selbst mit sequentieller Abfolge besser da stehen. Weiß aktuell keiner. Die Engines wandeln sich nicht von heute auf morgen komplett. Und Games wie Swarm oder dieser neue Titel da sind bei weitem nicht das typische Game Szenario.

Ob sich die Sache bei Pascal und Nvidia ändert wird sich zeigen. Möglich. Die Auswirkungen des ganzen Themas dürften aber eher klein sein.

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.
wohl eher wird die Performance vielleicht zulegen. Bisher setzt sich zB. ein Fiji prozentual auch unzureichend von Hawaii ab.

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.

ja aber genau das kann auch das Geheimnis eines Erfolges sein. Auch wenn die Adaptierungsrate zu DX12 bei Engines recht hoch sein kann - bis die Auswirkungen hier in diesem speziellen "Asynchronen Shader" Themas den Anwender erreichen können auch noch 2 Generationen an GPU ins Land gehen. Vor allem dann, wenn der Fallback ein gleiches oder besseres Ergebnis liefert.

Umgekehrt müsste man wohl sagen dass AMD dann vielleicht technisch Jahre lang vorne lag, daraus aber nur Nachteile gezogen hat da keine API außer die marginale Mantle API daraus Nutzen gezogen hat, und selbst die nicht wirklich genug um sich von der Konkurrenz abzusetzen.
Was bleibt davon also übrig außer subjektive Unterlegenheit durch schlechtere Energieeffizienz, weniger Marge und Verlust von Marktanteilen? Zudem bremst man sich in DX11 aus...

Ich will sagen... AMD mag hier auf weit entfernte Sicht (sagen wir 2 Fertigungsprozesse) den richtige Weg eingeschlagen haben, GPU auf dem klassischen PC noch richtig gut auslasten zu können, heute sind aber selbst mit Mantle und quasi allen DX12 Möglichkeiten die Vorteile schon sehr gering im Vergleich zu dem was die Konkurrenz anbietet. Es ist also nicht so dass es da von heute auf Morgen eine Revolution in Form von Faktor 2 der Leistung gibt. Und selbst die von AMD angepriesenen "bis 46%" beziehen sich auf eigene GPU und Single vs Async Shader bei Nutzen von speziellen Nachbearbeitungs Modi.

Der einzige Vorteil der AMD hier vielleicht bleibt ist der, dass in 1-3 Jahren die HEUTE gekauften AMD Karten mit DX12 Engines vielleicht weniger einbrechen als die der Konkurrenz ja. Nur kann man sich halt als Kunde wenig auf irgendwelche Prophezeiungen verlassen, find ich. Also ich kauf in erster Linie das was zu Zeitpunkt des Kaufes das bessere Paket bildet, und nicht das was es vielleicht in 2 Jahren tut. Wenns da klemmt kauf ich neu.

Wie so oft wirds dann eh so laufen (zb bei HBM) dass die Konkurrenz dann ruckzuck die eigene Architektur auch umstellt und einen technischen Rückstand wirtschaftlich einholt.
 
Was ich zu asynchronous compute noch anmerken wollte: Es herrscht hier bei vielen eine Fehlvorstellung, was es überhaupt bringt den Zeichenprozess gleichzeitig mit Compute berechnen zu lassen.

So besteht die beim Zeichenprozess verwendete Rasterpipeline der GPU aus einer Menge von programmierbaren Stufen, die durch die programmierbaren Shader abgearbeitet werden. Zusätzlich besteht sie aus einer Menge von nur konfigurierbaren Fixed-Function-Stufen, die durch Spezialhardware auf der GPU abgearbeitet wird. Hier sieht man zum Beispiel eine solche aktuelle Pipeline (bei "From Application" links starten und die Pfeile bis "Framebuffer" verfolgen; gelb ist Shader; pink ist Fixed-Function):
http://vrworld.com/Data/2012_8_6/Kh...enGL-43-and-More!/OpenGL4.3ShaderPipeline.JPG
Die Fixed-Function-Stufen sind zwar an sich, da sie fest in Hardware implementiert sind, sehr schnell. Allerdings kann jede der Fixed-Function-Stufen dennoch die Performance limitieren. Diese Limitierung tritt in der Regel auf, wenn die GPU etwas mit sehr einfachen Shadern, die nur wenige Rechenoperationen pro Pixel und pro Vertex enthalten, zeichnet. In diesem Fall sind die Shader je nach Grad der Limitierung durch die Fixed-Function-Stufen nur schlecht ausgelastet.
Hier tritt nun das Problem auf: Viele Graphische-Effekte oder Rendering-Verfahren verwenden solche einfachen Shader. So müssen zum Beispiel das Zeichnen einer Shadow-Map (https://de.wikipedia.org/wiki/Shadow_Mapping) im Shader nur die Vertexe transformiert werden. Dadurch limitiert dementsprechend der Pixeldurchsatz oder der Dreiecksdurchsatz des Rasterisierers die Performance stark; die Shader sind fast komplett untätig. Hier kommt nun asynchronous compute ins Spiel. Während der Rasterisierer beschäftigt ist und die meisten Shaderprozessoren ohne asynchronous compute einfach warten würden, so können nun die wartenden Shaderprozessoren mit Compute-Aufgaben befüttert werden, wie Physik oder "Compute-Graphik-"Berechnungen. Dadurch lässt sich wiederum die Auslastung der GPU erhöhen.

Es gibt aber zudem noch weitere Probleme (z.B. schlechte Auslastung durch den Tail-Effekt oder Idle-Times durch Konfiguration der Pipeline), die die sich mit asynchronous compute kompensieren lassen. M.E. sollte das so eben genannte Problem jedoch dasjenige sein, welches für den größten Performancegewinn durch asynchronous compute verantwortlich sein sollte.
 
Zuletzt bearbeitet:
dank dir für die Ausführung. Wie is deine persönliche Einschätzung der gesamten Thematik hier? ^^

Geht Async Compute nebenher (ohne dass die Engine irgendwie groß was für machen muss oder Komplexität / Kosten entsteht?)

Wie hoch ist der Compute Anteil bei aktuellen normalen Titel so? Geht da der Vorteil gegen 0 oder ist prinzipiell mit deutlichen Zuwächsen zu rechnen?
 
Man muß den @Nai einfach mögen! Der schreibt Sachen, die ich auch bei 3 mal lesen nicht verstehe und es liest sich trotzdem faszinierend.

@Krautmaster spricht hier eines der größten Problem von AMD an. Sachen in CPU's und GPU's basteln die wenn überhaupt erst Jahre später einen Vorteil bringen. Was bringt es denn AMD, wenn eine 290X heute besonders gut performt? Werden so Marktanteile gewonnen oder Umsatz generiert?

Das AMD nVidia sogar in Schutz nimmt kann auch Schadensbegrenzung sein. Ich glaube nicht, dass AMD einen Krieg mit NVidia anzetteln will. Evtl. ist Oxide mit dem was die da auf einem sehr ungewöhnlichen Weg veröffentlicht haben über das Ziel hinaus geschossen. Sein Produkt mit DX12 gut aussehen zu lassen ist eine Sache aber den 80% Marktanteil Konkurrenten herauszufordern eine andere.
 
oldmanhunting schrieb:
Was bringt es denn AMD, wenn eine 290X heute besonders gut performt? Werden so Marktanteile gewonnen oder Umsatz generiert?

Die 290X hat auch schon zum Launch gut performt und mit den Konkurenten in der Leistung durchaus mithalten können. Und sie kann weiter gut performen und sogar noch besser werden. Und da ist das Problem.
Wärend man mit der AMD über Jahre Spaß hat und die sogar noch mehr zulegen, werden halt keine neuen Karten gekauft. Man ist ja schließlich für Jahre gut bedient mit der 290X.
Bei NV eben anders herum. Dann wird halt öfter Nachgerüstet. So lassen sich natürlich viel mehr Karten verkaufen.
 
Kudos an Nai!
Aus der Sicht habe ich das Thema noch gar nicht betrachtet. Alles parallelisieren was geht, macht auch nicht immer Sinn
 
@issenia

pinzipiell ja, aber ich denke dass es nicht so ist, dass die Nvidia Karten deutlich schneller "unspielbar" werden als die aus dem Hause AMD. Da hängen viele Faktoren dran, zB auch der VRam der bei den Nvidia Karten zb GTX680 / 770 natürlich sehr knapp bemessen war und nun langsam ausgeht, da punkten zb 390 und 390X - vermutlich , in paar Jahren.

zb GTX 770 vs HD7970 Ghz

Damals quasi gleich schnell

https://www.computerbase.de/2013-05/nvidia-geforce-gtx-770-test/4/#abschnitt_leistung_ohne_aaaf

und die HD7970 ist heute in Form der R9 280X etwas (1-5%) schneller

https://www.computerbase.de/2015-05...ergleich/2/#abschnitt_leistungsratings_spiele

-> bei Sachen die eh noch spielbar sind.

Es ist jetzt nicht so das Welten dazwischen liegen.

Manchmal trügt auch etwas das OC mit rein. Die GTX 780 sieht heute teils "schlecht" aus, macht aber auch als OC Modell oder Referenz gut 20-30% OC mit und ist damit heute noch über GTX 970 OC Modell Niveau, bzw kommt einer GTX980 gleich und ist >2 Jahre alt...

https://www.computerbase.de/2013-05/nvidia-geforce-gtx-780-test/10/

Edit:

Ich denke nicht dass ich das jetzt zB wegen DX12 massiv ändert. Die Fiji Karten werden bis 2017 vielleicht bis 10-15% zulegen gegenüber einer Ref. GTX 980 TI, gut möglich (also eher den GTX OC Modellen gleich ziehen). Ich mein wären es 40% wäre das natürlich schon eher ein Argument, aber absolut gesehen sind 40% in 2-3 Jahren auch nicht gewaltig spielentscheidend da dann vielleicht wieder der Ram zu knapp is... man weiß es halt nicht.
 
Zuletzt bearbeitet:
issenia schrieb:
Die 290X hat auch schon zum Launch gut performt und mit den Konkurenten in der Leistung durchaus mithalten können. Und sie kann weiter gut performen und sogar noch besser werden. Und da ist das Problem.
Wärend man mit der AMD über Jahre Spaß hat und die sogar noch mehr zulegen, werden halt keine neuen Karten gekauft. Man ist ja schließlich für Jahre gut bedient mit der 290X.
Bei NV eben anders herum. Dann wird halt öfter Nachgerüstet. So lassen sich natürlich viel mehr Karten verkaufen.
Genauso ist das! Eine 290X muß dann Top sein, wenn die raus kommt und der Nachfolger muß um soviel schneller und besser sein, das die Leute auch upgraden. Klar freuen sich AMD Kunden das Ihre alte Hardware durch Windows 10 noch etwas länger hält aber freut das auch AMD? Die wollen (müssen) GPU's verkaufen und nicht Ihre alten Kunden vom Kauf abhalten.

Was juckt es mich, wie meine GTX970 jetzt mit DX12 performt, solange meine Spiele nur in DX11 existieren. Wargaming will irgendwann auch auf DX12 gehen aber das wird mit Sicherheit noch ewig dauern und selbst dann bleibt mein Spiel genauso spielbar wie unter DX11. Hier wird die Qualität von ungelegten Eiern diskutiert und nichts anderes.

and by the way: 2016/2017 gibt es bei mir eh wieder eine Neue GPU. Dann schaue ich mir die Benchmarks an und entscheide was ich kaufe aber doch nicht heute.
 
Zuletzt bearbeitet:
Danke Nai !

Kurz zusammengefasst: Async Shader ermöglicht die erweiterte Parallelisierung von Aufgaben auf die man sonst in einer Art "seriellen" Pipeline warten würde. Insbesondere ermöglicht es die Kombination von vielen einfachen Aufgaben mit wenigen langsamen. (zumindest bestimmter Sorten Aufgaben)
Jetzt weiss ich noch grob von anderen Diskussionen dass gerade wenn man viele verschiedene objekte darstellen will man exakt dieses Aufgabenstellung vorliegen hat....wenige Komplexe calls die durch viele Simple vorbereitet oder modifiziert werden.

Laut MS und AMD ist Async Shader eines der Key-Features von DX12, denn vor allem dadurch kann man eine erweiterte Parallelisierung erreichen die dann relativ zu DX11 Geschwindigkeitsvorteile bringt.

Meine Frage an dich nun:
Inwiefern widerspricht das dann den Ausführungen von Mahigan auf OCers - welcher nur dargestellt hat was man aus den "selbstgeskripteten" Benchmark auf Beyond3d rauslesen kann und inwiefern dies eine Erklärung für die Bitte seitens nVidias an Oxide die AS zu deaktivieren.

Keiner (also zumindest nicht ich) hat hier irgendwas von Performance Einbruch gepostet...einzig allein eine Erklärung für die Tatsache warum AMD mit GCN so "offensichtlich" mehr von DX12 profitiert als bislang Maxwell.

Frage im speziellen:
Wie interpretierst du dann diese beyond3d benchmark resultate in welchen die Zeit bei Maxwell für Compute + Graphics threads 100% additiv sind wohingegen bei GCN die Zeit des Compute + Graphics nur der Dauer des einen Parts entspricht.
(die 40ms generelle "zusätzliche" Latenz bei GCN...wird wohl auf einen anderen Buffer im Vorfeld gehen) ?

EDIT:
http://www.heise.de/newsticker/meld...karten-ein-vollkommenes-Desaster-2801497.html
Die zusätzliche Zeit liegt wohl an einem "content switch" den GCN eben nicht braucht.
Robert Hallock – AMDs Chef fürs weltweite technische Marketing – bestätigte während einer Telefonkonferenz gegenüber c't, dass Nvidia-GPUs der Serien Kepler, Maxwell und Maxwell v2 einen Context Switch zwischen Grafik- und Compute-Anwendungen ausführen müssen, während ein solcher bei AMD-GPUs mit GCN-Architektur nicht nötig ist.

NACHTRAG:
https://forum.beyond3d.com/threads/dx12-performance-thread.57188/page-15
So that's the 2nd test on a 980Ti,

1st:
Compute: 5.67ms
Graphics: 16.77ms

Graphics + Compute: 21.15ms
Graphics + Compute (Single Commandlist): 20.70ms

And for 512th:
Compute: 76.11ms
Graphics: 16.77ms
Graphics + Compute: 97.38ms
Graphics + Compute (Single Commandlist): 2294.69ms

---------------------------------------

In both the 1st to 512th, Async Mode adds up the time. Single Commandlist mode went nuts.

Außerdem scheinen SLI-System durchaus solche Aufgaben über die GPUs quer zu verteilen was zu "Latenz"-Vorteilen führt (siehe ein paar beiträge unterhalb des letzten links aus Beyond3d
 
Zuletzt bearbeitet:
Das Problem ist doch einfach das Nvidea die Chance hatte, auf den Mantel/DX12 Zug mit aufzuspringen und es aus Arroganz nicht getan hat. Das Mantel zu DX12 beigetragen hat(was fast identische Vergleichs-Benchmarks, bewiesen haben) dürfte jeden klar sein, der sich halbwegs auskennt. Nvidea hat zu lange auf DX 11 gesetzt und darauf gehofft das die Kunden fleißig weiter kaufen und das Nvidea seine Kunden gerne an der Nase herumführt, liegt ja auf der Hand. und bitte schreibt jetzt nicht das DirectX12 keine Zukunft hat, oder es noch egal ist, hat man damals über DX10 und DX11 auch gesagt.
Ergänzung ()

Na welche neue Generation von Nvidea soll den kommen und fühlst du dich dann nicht ein wenig abgezogen ? Also ich bin froh das meine R 390 X, Supportet. Was ist mit den Leuten die sich die 9er Generation gekauft haben und davon ausgegangen sind das es Supportet wird, sind die dann selbst Schuld wenn sie sich von Nvidea verarschen lassen ?
 
Iscaran schrieb:
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.

Boa, was für eine elende Frickelei die weder in die Breite der Anwendungen skaliert noch auf Dauer wirtschaftlich sein kann.

Es wird dringend Zeit das so Dreck verschwindet um Platz für weitere Marktteilnehmer zu schaffen weil die Kosten für die Softwareerstellung dann sinken werden.
Ergänzung ()

Nai schrieb:
Ü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.

Und es wird noch frickliger, will der Ersteller die Anwendung weiter optimieren fällt der komplett auf die Schnauze weil der Compiler das ursprüngliche Pattern nicht mehr erkennt und in den Defaultmodus zurückfällt.

Also wenn noch noch ein Knaller kommt brauche ich eine Steigerung von frickeln, kennt jemand so ein Wort?
 
Zuletzt bearbeitet:
Knorpelpower schrieb:
Das Problem ist doch einfach das Nvidea die Chance hatte, auf den Mantel/DX12 Zug mit aufzuspringen und es aus Arroganz nicht getan hat. Das Mantel zu DX12 beigetragen hat(was fast identische Vergleichs-Benchmarks, bewiesen haben) dürfte jeden klar sein, der sich halbwegs auskennt. Nvidea hat zu lange auf DX 11 gesetzt und darauf gehofft das die Kunden fleißig weiter kaufen und das Nvidea seine Kunden gerne an der Nase herumführt, liegt ja auf der Hand. und bitte schreibt jetzt nicht das DirectX12 keine Zukunft hat, oder es noch egal ist, hat man damals über DX10 und DX11 auch gesagt.

Du redest ganz schön viel Blech. Die Vergleiche fielen zugunsten dx12 aus. Insgesamt waren die Werte aber recht ähnlich, weil an ähnlichen Stellschrauben gewerkelt wurde (sind eben beide low-level-APIs). Direkt beigetragen zu dx12 hat Mantle sicherlich nichts. Absolut nichts!
Es hat die Entwicklung wohl beschleunigt, aber Code oder ähnliches wurde nicht assimiliert.
Auf dx11 zu setzen, war auch keineswegs falsch. Man hat ja unglaubliches aus der alten API gekitzelt. Solchen Einsatz wünscht man sich geradezu für dx12 (von beiden Herstellern).
Auch wäre ich mit Abgesängen etwas vorsichtiger. Wenn die 970 eines gelehrt hat, dann dass Nvidia - trotz solcher Sachen - Verkaufsrekorde aufstellen kann.
 
Nai schrieb:
M.E. sollte das so eben genannte Problem jedoch dasjenige sein, welches für den größten Performancegewinn durch asynchronous compute verantwortlich sein sollte.

Dann wollen wir mal hoffen das in Zukunft der Wettbewerb zwischen den Herstellern um die höhere Granularität der jeweiligen Chips geführt wird.
 
Zurück
Oben