News DirectX 12: Disput zwischen Oxide und Nvidia geht weiter

Ist mir viel zu viel "hätte/könnte/wenn/vielleicht". Das sind einfach keine präzisen Aussagen und das ist es, was ich moniert habe.
Können kann viel. Vielleicht erschlägt mich morgen der Blitz auf dem Klo. Vielleicht aber auch nicht. Wem hilft diese Erkenntnis? Niemanden.

Und die meisten GPUs nutzen AS ja gerade nicht. Denn bei dedizierten Grafikkarten liegt das Verhältnis momentan 82% zu 18% für Nvidia.

Das ist alles sehr schwer zu beurteilen. Flamen kannst du Nvidia natürlich, wie du lustig bist. Informationspolitik natürlich top. Unnachahmlich. :kotz:

Nur sagt das jetzt erst mal so gar nichts darüber aus, was jetzt nun folgt und welche Auswirkungen es hat.

@foofoobar
Du hast scheinbar keine Ahnung von Programmierung und dem Markt.
Wir reden hier von einem Strategiespiel (was so schon eine Nische darstellt). In wie weit dieses kleinere Produkt den Markt und die Produkte der Zukunft widerspiegelt, ist überhaupt nicht gesagt.
AMD hat AS natürlich in dem Ding drin und freut sich darüber. Das ist aber erst mal alles. Ob das von den Konsolen rüberschwappt... ist deine Glaskugel besser als meine? Womit polierst du sie denn?
 
Zuletzt bearbeitet: (Typo und co)
foofoobar schrieb:
Problem nicht verstanden?

Das Geschäftsmodel von Nvidia mit dem ReReShaderCompiler die per Patternmatching handoptimierten Code einbauen ist mit DX12 hinfällig geworden. Und AMD hat mit den Konsolen einen relevanten Marktanteil.

Also ist es kein Wunder das Nvidia angepisst ist.

Die DX12 und Vulcan Performance wird sich spätestens mit der nächsten (Finfet) Generation zwischen AMD und Nvidia egalisieren.

und habe ich irgendwas gegenteiliges behauptet. aber ich hab das mit dem rereshadercompiler und den patternmachting nicht verstanden,das darfst du mir gerne erklären für normal sterbliche. Es ging nicht um angepisst, es ging um die benchmarks an sich,um die aussagekraft. und nächste generation, die juckt absolut noch niemanden.

@moon_knight

ich "flame" nvidia bestimmt nicht, hab selber schon beide lager in besitz gehabt. es geht nur um das hier und jetzt. natürlich ist das alles spekulation, das ist doch das schöne am hätte/vielleicht/sein können und co.!

gruß
 
Zuletzt bearbeitet:
xeonking schrieb:
und habe ich irgendwas gegenteiliges behauptet. aber ich hab das mit dem rereshadercompiler und den patternmachting nicht verstanden,das darfst du mir gerne erklären für normal sterbliche. Es ging nicht um angepisst, es ging um die benchmarks an sich,um die aussagekraft. und nächste generation, die juckt absolut noch niemanden.

gruß

Wurde in diesem Thread schon verlinkt: http://www.overclock.net/t/1569897/...singularity-dx12-benchmarks/400#post_24321843:

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.

A video which talks about Ashes of the Singularity in depth: [ ...... ]

PS. Don't count on better Direct X 12 drivers from nVIDIA. DirectX 12 is closer to Metal and it's all on the developer to make efficient use of both nVIDIA and AMDs architectures.

Und dieses Posting sollte noch einiges weiter klarstellen: https://www.computerbase.de/forum/t...dia-geht-weiter.1509307/page-19#post-17831673

Und warum sollten sich die Spielehersteller nicht mit besseren Effekten, höheren FPS, nK, und weiteren Dingen von der Konkurrenz abheben wollen, insbesondere da die GCN-Architektur einen relevanten Marktanteil hat und sich die Entwicklung dafür dann lohnt. Und die Koffer voller Geld die Nvidia angeblich zu den Spieleherstellern trägt, müssen von Nvidia erstmal verdient werden. Insbesondere verliert Nvidia mit DX12 auch das Druckmittel der von Nvidia handoptimierten Shaderprogramme gegenüber der Spieleherstellern.

Ist das Bild jetzt klarer?

Und die Software die GPUs mit allen möglichen Dreck multithreaded und asynchron zumüllen kann, steht erst am Anfang, für die Spielehersteller also eine gute Chance um Marktanteile zu holen.
 
Zuletzt bearbeitet:
Ich weiß gar nicht, wie oft dieser Post jetzt schon verlinkt wurde und nein, da ist genau null klarer.
Denn die Spielehersteller wollen, dass ihre Spiele bei den meisten Usern reibungsfrei laufen. Nach neusten Zahlen kann man sogar langsam dazu übergehen, AMD am PC-Markt direkt zu ignorieren.
Wozu den Aufwand betreiben, wenn eh kaum einer von profitiert. "Ist eh nur ein optionales Feature." Den alten Weg kennt man, man ist gut darin, gewohnt und sicher in der Ausführung.

Es gibt viele Sichtweisen, die den Schluss eben nicht so einfach machen, wie du ihn gerne hättest. Vermutlich wird es sogar von Spiel Spiel zu entschieden und sich eine richtige Hauptströmung hin zu einem Ja oder Nein zu AS gar nicht herauskristallisieren.
 
Zuletzt bearbeitet: (Typo/Syntax)
@foofoobar

siehste,das ist das was ich gesagt habe. auf grund der "großen" verbreitung von amd gpu's und apu's ( dedizierte und die apu's in den konsolen), ich glaub intels igpu's unterstützen AS auch, wird sich die nutzung von AS wohl in den meisten DX12 Spielen wiederfinden. Bleibt eigentlich nur abzuwarten was Nvidia macht, ob sie das wirklich nicht in Hardware haben und falls nicht ob sie es dann vernünftig per software emulation hinbekommen.

@moon-knight

nur auf den pc-markt gesehen würde ich dir sogar recht geben. weil die beiden großen konsolen das aber auch unterstützen, sehe ich das eher anders.

gruß
 
Moon_Knight schrieb:
@foofoobar
Du hast scheinbar keine Ahnung von Programmierung und dem Markt.
Wir reden hier von einem Strategiespiel (was so schon eine Nische darstellt). In wie weit dieses kleinere Produkt den Markt und die Produkte der Zukunft widerspiegelt, ist überhaupt nicht gesagt.

Schauen wir doch mal was Shooter damit in Zukunft so anstellen werden. Es ist ja nicht so das alle Shooter schon jetzt mit >200FPS laufen.
Ergänzung ()

Moon_Knight schrieb:
Auf den Konsolen läuft AS schon seit einer ganzen Weile. Auswirkungen dadurch? Keine.

Geht ja auch erst so richtig seit DX12 auf PCs. (Mantle war der Prototyp dafür)
 
Genau darauf wollte ich hinaus, foofoobar ;)

Schauen wir uns das doch einfach an, wenn wir da angelangt sind. Wer verunsichert ist, soll sich keine Nvidia mehr zulegen. Wer eine besitzt, braucht nicht in Panik verfallen. Wir haben jetzt ein paar Indizien, mal sehen, was der Rest so treiben wird.

Kühl, sachlich, nüchtern.
 
xeonking schrieb:
@foofoobar

siehste,das ist das was ich gesagt habe. auf grund der "großen" verbreitung von amd gpu's und apu's ( dedizierte und die apu's in den konsolen), ich glaub intels igpu's unterstützen AS auch, wird sich die nutzung von AS wohl in den meisten DX12 Spielen wiederfinden. Bleibt eigentlich nur abzuwarten was Nvidia macht, ob sie das wirklich nicht in Hardware haben und falls nicht ob sie es dann vernünftig per software emulation hinbekommen.

Emulieren oder simulieren kann man fast alles, nur ist es in diesem Fall witzlos weil langsamer.
 
Auf den Konsolen läuft AS schon seit einer ganzen Weile. Auswirkungen dadurch? Keine.

Das ist nicht richtig. Bei der XBox one kann man es erst mit DX 12 anwenden auf dem PC geht das auch erst mit DX 12. Imo gibt es mit tomorrow child erst ein Spiel das mit Async Shaders gemacht wurde und das ist PS4 exklusiv. Selbst wenn also Async Shaders schon massiv auf der Konsole eingesetzt würde wäre die Umsetzung auf dem PC wenn dann nur bei Mantle Spielen möglich gewesen.
 
Moon_Knight schrieb:
Ich weiß gar nicht, wie oft dieser Post jetzt schon verlinkt wurde und nein, da ist genau null klarer.

Schnapp dir nen Kumpel mit ein wenig Plan von dieses Dingen und laß es dir F2F auf einem Blatt Papier erklären.

Moon_Knight schrieb:
Denn die Spielehersteller wollen, dass ihre Spiele bei den meisten Usern reibungsfrei laufen. Nach neusten Zahlen kann man sogar langsam dazu übergehen, AMD am PC-Markt direkt zu ignorieren.
Wozu den Aufwand betreiben, wenn eh kaum einer von profitiert. "Ist eh nur ein optionales Feature." Den alten Weg kennt man, man ist gut darin, gewohnt und sicher in der Ausführung.

Der Aufwand wurde bereits für die Konsolen betrieben, warum also nicht für PCs für quasi lau übernehmen?

BTW: Die PS4 hat auch ein weiteres AMD-only Feature drin: Steuerbare Speicherkohärenz zwischen GPU und CPU, das spielt allerdings für dedizierte GPUs keine so große Rolle.
 
Du weißt schon, dass ich studierter Informatiker bin? :rolleyes:
Das hatten wir jetzt schon in einigen Threads. Ich brauche keine Erklärung.

Man kann den Code nicht einfach nehmen und 1:1 rüberschieben. Das ist vorbei, seit man auf low level ging. ;)

Auf diese homogene Masse innehrlab der Konsolen anzupassen, ist wunderschön. Beim PC funktioniert das so nicht.
 
Was hier eventuell einigen nicht klar ist: das ist wie bei sämtlichen Architekturen - mehr Threading / Processing Spawning ist zwar in der Theorie immer schön, aber in der Praxis (siehe Kommentar von Nai) nicht immer förderlich. Man erkauft sich zwar meistens viel Performance durch Parallelisierung, jedoch hat man um Ende hin meist auch mehr Komplexität beim Zusammenführen der Daten und der Beachtung von Zuständen und natürlich der Fehlerbehandlung. Je mehr am Low-Level eine Sprache / API ist, desto mehr Fehler können dem Entwickler passieren. Je mehr ich darf, desto mehr Schwachsinn kann ich natürlich auch anfangen. Hier sollen zwar die Engines einem die Arbeit abnehmen, jedoch können diese Aufgrund von Automatismen, nicht immer die optimale Performance rausholen, weil sie nicht selbstständig denken können und im Zweifel anders als ein Mensch entscheiden würden.

Wenn die Nvidia Karte ohne Async nun schneller / genauso schnell ist wie AMD mit Async Compute, dann fahren beide Hersteller einfach andere Taktiken. Stellt euch mal vor, Nvidia hätte die Konsolen ausgestattet mit einer GPU - dann wäre von Async nie die Rede gewesen. Ich begrüße AMDs Ideen mit Mantle und letztendlich behaupte ich, dass sie einen Großteil beigetragen haben, dass man bei DX12 in die gleiche Richtung ging.

Außerdem hat Moon_Knight recht, der Code von Konsolen auf PC 1:1 zu übernehmen ohne Aufwand ist imho nicht möglich, weil die Architektur trotz ihrer Basis unterschiedlich sind. Bei den alten Konsolen wars natürlich heftiger, aber selbst bei den aktuellen ist zwar einfacher, jedoch purzelt die PC Fassung nicht hinten als Gratis Beilage raus ;)
 
Zuletzt bearbeitet:
Moon_Knight schrieb:
Du weißt schon, dass ich studierter Informatiker bin? :rolleyes:
Das hatten wir jetzt schon in einigen Threads. Ich brauche keine Erklärung.

Dann sollten die die Vorteile eigentlich sofort klar sein.

Moon_Knight schrieb:
Man kann den Code nicht einfach nehmen und 1:1 rüberschieben. Das ist vorbei, seit man auf low level ging. ;)

Auf diese homogene Masse innehrlab der Konsolen anzupassen, ist wunderschön. Beim PC funktioniert das so nicht.

Aber warum sollten die Spielehersteller die Vorteile (und damit mögliche Marktanteile) nicht für einen bestimmten Kartentyp für quasi lau mitnehmen? Hier deutet sich das schon an: http://www.pcgames.de/Deus-Ex-Manki...om&utm_campaign=sharebutton&utm_medium=social
 
@foofoobar:
Guck dir die Skalierung jenseits von 4 Kernen auf dem Desktop in Spielen an - da hast du den gleichen Effekt, irgendwann ist der Vorteil durch Parallelisierung einfach nicht mehr da, oder verringert sich sogar. Alternativ kann der Aufwand die Daten korrekt zusammen zu führen, viel zu hoch sein, dass man auf die 1-2 FPS pfeift und stattdessen auf weniger Threads / Prozessen arbeitet.

Natürlich ist das bei Grafikberechnungen viel krasser von der Informations & Verarbeitungsmenge, jedoch kann es durch so sein, dass es bei Nvidia die Entscheidung gab, vorerst "seriell" zu bleiben, weil man sowieso schnell genug ist :)
 
@foofoobar
Man nimmt gar nichts für "lau" mit.
Siehe auch SymA. So funktioniert das einfach nicht.
Zu DE:
Da deutet sich gar nichts an. Ein AMD-Effekt, entwickelt mit AMD und sowieso. Dann kannst du auch GameWorks als zukunftsweisend ansehen.
 
Unabh. von Async Shadern is der Titel Müll um Dx12 Performance zu beurteilen (Stichwort Spielplot und Genre zielt auf API Limit, Engine wie in dee Techdemo Swarm, von AMD berechtigt aus Marketinggründen quasi entwickelt), wem das nicht klar ist dem kann man auch nicht mehr helfen. Abwarten wie es bei den ersten "richtigen" Dx12 Titeln aus sieht, in welchen vielleicht Async Shader in der Tat zum Einsatz kommen mag, die Engine aber an ganz anderer Stelle limitiert...

Wird man ja sehen. Keine Publisher launched ein Game bei dem 80% Marktanteil ein unspielbares Erlebnis haben... ^^

Da muss man einfach abwarten.
 
Zuletzt bearbeitet:
Dann frage ich mal so: warum benutzen alle Windows, wenn es doch mit Linux wenn öffentlich zugänglich scheinbar das Kriterium ist?
 
Das artet hier ja schon wieder aus - dabei geht es nur sekundär um "benchmarks" und "performance".

AS bedeutet in dem Kontext offenbar die zeitgleiche / parallele Abarbeitung von "Graphics" und "Compute" Befehlen.

https://forum.beyond3d.com/posts/1870144/
You mean you can't tell whether it's running *concurrently*.

This whole thread is very confused about what asynchrony means. In fact, it's very common to have asynchronous interfaces that execute sequentially.

A better description for what people on this thread are interested in is "concurrent graphics and compute". Asynchronous compute for GPUs is as old as CUDA. But the ability to run graphics workloads concurrently with compute workloads is what this thread is really about, and is a relatively new thing.
Der Fettgedruckte Teil ist das was man mit DX12 begonnen hat - von mir aus als optionales Feature.

Der Punkt ist das AS 0-50% performance Vorteil bieten KANN. Grundsätzlich. Immer.
(siehe AMD Folien weiter oben)

Mittlerweile scheint die Problemfindung auf Beyond3d auch dem Problem näher zu kommen.

https://forum.beyond3d.com/posts/1870164/

How is the appropriate context determined? The same code is being interpreted by GCN as compute and by Maxwell as graphics.

Like is there a flag that needs to be set, marking the code as compute? Or is it something the driver/hardware determines on its own?

Denselben "Code" behandeln GCN und Maxwell also unterschiedlich. Erstmal nichts neues. Für die paar Codezeilen ist es aber schon ungewöhnlich dass es so verschieden gehandelt wird. Und man fragt sich ob man dafür "extra" Flags braucht im Code oder ob der Treiber oder gar die Hardware selbst das entscheidet.


Auf Maxwell scheint das "forcieren" der seriellen Ausführung einen Mangel im Management der Tasks im Queue zu offenbar wodurch es möglicherweise zu einer Auslagerung auf die CPU kommt zwischen den einzelnen Arbeitsschritten (oszillierendes CPU-Verhalten?)

GCN verhält sich hier offenbar völlig anders.

Schliesslich kann dies tatsächlich bedeuten dass nVidia GPUs keinen Support for andere Shader befehle zulassen sobald ein Task als "Graphics" eingestuft ist....

Also ich übersetze das mal mit KEINE Asynchrone (="concurrent graphics and compute") Abarbeitung von Graphics und Compute Aufgaben bietet !

https://forum.beyond3d.com/posts/1870165/
...*schnipp*
It's a long shot, but it might be that Nvidias GPUs have no support for inter shader semaphores while operating in graphics context.
 
Zurück
Oben