DirectX 12: Caffeine-Entwickler erzielt 20% höhere Performance auf PC, Xbox One noch mehr

AW: DirectX 12: Caffeine-Entwickler erzielt 20% höhere Performance auf PC, Xbox One noch mehr

So läuft das nicht grundlegend. Entwickler schreiben kein Zeug und hoffen der Treiber und Compiler wird das schon immer hinbiegen.
Auf weiter Flur wird das zwar so gemacht, dort wo es auch nicht kritisch ist. 80/20 Rule.

Schau bestimmte Einheiten oder Funktionalitäten einer GPU können garnicht über die API oder Engine angesprochen werden, weil sie außerhalb der Spezifikationen der API/Engine sind. Hier kann der Entwickler keinen Shadercode schreiben den man dafür nutzen könnte. Außer Nvidia/AMD gibt dem Entwickler tools die das ermöglichen... Am Ende muss der Compiler die speziellen Sachen richten und diese machen sich dann spürbar bemerkbar.

Die API ist nur ein Teil der Kette, daher ich finde es schade das immer nur über APIs gesprochen wird. Da gibt einige mehr Faktoren die über das Ergebnis entscheiden.
 
AW: DirectX 12: Caffeine-Entwickler erzielt 20% höhere Performance auf PC, Xbox One noch mehr

mir war nicht bewusst das Lehrer Umsatz generieren... :lol:
Natürlich tun sie das, denk mal nach :schief:
Glaubst du Lehrer haben keinen Output? Was wäre die Wirtschaft ohne Leute die Lesen, Schreiben usw können.
Außerdem war das Statement ja ungefähr "jeder arbeitet allein für den Profit"
 
AW: DirectX 12: Caffeine-Entwickler erzielt 20% höhere Performance auf PC, Xbox One noch mehr

@ cl55amg

Insgesamt habe ich dem ganzen nie widersprochen.
Die simple Aussage war einfach, dass Entwickler für eine bestimmte Architektur optimieren (und designen) können.

Natürlich wird gerade nur über die API gesprochen, weil es nach ganzen 6 Jahren endlich eine Ablösung gibt.
Das ganze ist öffentlich dokumentiert und wird fast jeden Monat durch irgendeine Präsentation durchgeschliffen.

Ganz anders sieht es bei Treibern und den Shader-Compilern aus, diese sind Herstellerspezifisch, öffentlich nicht dokumentiert und nicht ausführlich erörtert.
Außer die Open-Source Driver bei Linux.
Die kann man sich natürlich anschauen.
 
AW: DirectX 12: Caffeine-Entwickler erzielt 20% höhere Performance auf PC, Xbox One noch mehr

@ cl55amg

Insgesamt habe ich dem ganzen nie widersprochen.
Die simple Aussage war einfach, dass Entwickler für eine bestimmte Architektur optimieren (und designen) können.

Natürlich wird gerade nur über die API gesprochen, weil es nach ganzen 6 Jahren endlich eine Ablösung gibt. Das ganze ist öffentlich dokumentiert und wird fast jeden Monat durch irgendeine Präsentation durchgeschliffen.

Ganz anders sieht es bei Treibern und den Shader-Compilern aus, diese sind Herstellerspezifisch, öffentlich nicht dokumentiert und nicht ausführlich erörtert.
Außer die Open-Source Driver bei Linux.
Die kann man sich natürlich anschauen.

Mir geht darum das man versteht, dass die Funktionen einer API wie DX12 nur dann genutzt werden können, wenn es die Engine und der Treiber auch anbietet. Die Engine und der Treiber müssen diese Funktionen zudem auch gut implementieren. Nutzen sie bestimmte Dinge ineffzient, dann ist das Ergebnis Mist.

Ich bin überzeugt das Nvidia durch den Treiber bei manchen Spielen dermaßen weit an DX11 vorbei optimiert hat, dass eine DX12 Variante nur noch wenig Mehrwert hat. Auch das wird aber nicht erwähnt, man redet nur über die DX12 Spezifikationen und klärt die Leute nicht über die Technologie auf, auf dessen Basis das ganze Konstrukt funktioniert... Dadurch entstehen viele unsinnige Diskussionen in Foren.
 
AW: DirectX 12: Caffeine-Entwickler erzielt 20% höhere Performance auf PC, Xbox One noch mehr

Kann mir mal jemand sagen ob DX12 auch auf die PS4 kommt ? Wäre zumindest sinnvoll.
 
AW: DirectX 12: Caffeine-Entwickler erzielt 20% höhere Performance auf PC, Xbox One noch mehr

DX12 wird nicht für die PS4 erscheinen, DX12 wird für keine Plattform erscheinen, welche nicht von Microsoft kommt.
Sinnvoll wäre DX12 für die PS4 "nur" was die Portierungen angeht.
Die PS4 besitzt mit GNM ihre eigene explicit low overhead API.
 
AW: DirectX 12: Caffeine-Entwickler erzielt 20% höhere Performance auf PC, Xbox One noch mehr

Sinnvoll wäre DX12 für die PS4 "nur" was die Portierungen angeht.
Die PS4 besitzt mit GNM ihre eigene explicit low overhead API.

Kann man schon abschätzen was Dev-freundlicher ist, oder ist das im Grunde Jacke wie Hose?
Wenn PC und One auf DX12 aufbauen, ist es ja gut das der "Außenseiter" einen großen Marktanteil hat.^^
 
AW: DirectX 12: Caffeine-Entwickler erzielt 20% höhere Performance auf PC, Xbox One noch mehr

Ich bin überzeugt das Nvidia durch den Treiber bei manchen Spielen dermaßen weit an DX11 vorbei optimiert hat, dass eine DX12 Variante nur noch wenig Mehrwert hat.
Nah, definitiv nicht, wenn man sich eine gute DX12 Implementierung des Spiels + gute DX12 Treiber anschaut.

Kann man schon abschätzen was Dev-freundlicher ist, oder ist das im Grunde Jacke wie Hose?
Wenn PC und One auf DX12 aufbauen, ist es ja gut das der "Außenseiter" einen großen Marktanteil hat.^^
Entwickler könnten es abschätzen, Außenstehende dank fehlender Dokumentation kaum.
Was ich aber so heraus gehört habe ist, dass GNM mehr Möglichkeiten offen hält.
Ich kann es nicht beweisen, aber ich denke Sony hat die bessere Infrastruktur.

Was aber dev-freundlicher ist, dass weiß ich nicht.
Das DX12 bekannte Elemente enthält und über mehrere Plattformen verfügbar ist, würde ich auch als Dev freundlich bezeichnen.
So etwas bietet die PS4 nicht für jeden an.
 
AW: DirectX 12: Caffeine-Entwickler erzielt 20% höhere Performance auf PC, Xbox One noch mehr

Nah, definitiv nicht, wenn man sich eine gute DX12 Implementierung des Spiels + gute DX12 Treiber anschaut.

Wie kann es definitiv sein wenn es bisher keine gute DX12 Implementierung eines Spiels + gute DX12 Treiber gibt die das bestätigen?
Woher kommt denn dieses "definitiv" bei dir?

Ashes of Singulariy bestätigt eher das was ich geschrieben habe...
 
AW: DirectX 12: Caffeine-Entwickler erzielt 20% höhere Performance auf PC, Xbox One noch mehr

Definitiv kommt daher, dass DX12 explizite Kontrollmöglichkeiten über das Ressource-Managment und die Command-Buffer Submission hat.
Neben einer handvoll Features, die unter DX11 gar nicht verfügbar sind.
Den besten Job für ein Spiel können nur die Entwickler machen.

Ein IHV kann nicht das ganze Execution-Model von DX11 und den control-flow vom Spiel im Treiber aushebeln.
Unter DX12 fällt die Abstraktion auch nicht vollständig weg, die Möglichkeit manipulativ bei der Command-Submission und den Shadern einzugreifen, besteht weiterhin.

Ashes of the Singularity bestätigt gerade reichlich wenig.
Neben der Beobachtung, dass bei Nvidia mit DX12 die maximale GPU-Performance (noch) etwas schlechter ausfällt, sieht man ebenso das unter einer schwachen CPU ein großer Geschwindigkeitszuwachs vorhanden ist.
Der CPU-Part funktioniert entsprechend schon besser, als unter DX11.
 
AW: DirectX 12: Caffeine-Entwickler erzielt 20% höhere Performance auf PC, Xbox One noch mehr

Ein IHV kann nicht das ganze Execution-Model von DX11 und den control-flow vom Spiel im Treiber aushebeln.

Muss er auch nicht. Man kann spezifische, performance relefante Limitierungen unter DX11 ausheblen, dass macht Nvidia schon seit langer Zeit erfolgreich. Damit schliesst man logischerweise zum Teil die Lücke zwischen DX11 und DX12. Vom control flow ist hier keine Rede. Der Treiber entscheidet am Ende wie der Code auf der GPU ausgeführt wird.

Die API gibt nunmal eben nicht alles vor, da musst du nochmal etwas umdenken. So einfach und geordnet funktioniert dieser Prozess nicht.
 
AW: DirectX 12: Caffeine-Entwickler erzielt 20% höhere Performance auf PC, Xbox One noch mehr

Muss er schon, wenn er mit DX11 den Abstand zu DX12 auf wenig kürzen möchte, was praktisch aber nicht machbar ist.
Ich muss übrigens nichts umdenken, vor allem nicht, wenn das Diskussionslevel weiterhin so grob ausfällt.
 
AW: DirectX 12: Caffeine-Entwickler erzielt 20% höhere Performance auf PC, Xbox One noch mehr

Muss er schon, wenn er mit DX11 den Abstand zu DX12 auf wenig kürzen möchte, was praktisch aber nicht machbar ist.

Nein das stimmt nicht. Du denkst das die API alles vorgibt, genau hier machst du einen Fehler. Das Diskussionslevel ist auch nicht grob :what:

Der GPU Hersteller bekommt den Source Code bzw. die relevanten Teile davon vorab und optimiert dann den Treiber auf genau diesen spezifischen Code. Startet man das Spiel, dann erkennt der Treiber um welches Spiel es sich handelt und übergibt dem Shader-Compiler spezifische Parameter. Der Compiler ordnet entsprechend wie der Shader-Code ausgeführt wird. Die Übersetzung und Optimierung des Codes ist unabhägig von der API, man kann hier im Grunde alles machen was die GPU Architektur hergibt (aber dies ist natürlich deutlich aufwändiger, daher nutzt man es eher für bestimmte kritische Teile des Codes).

Bisher hast du diesen Schritt im Prozess immer ausgeklammert.

Ich sehe gerade das die PCGH genau das selbe schrieb wie ich:
Ashes of the Singularity Benchmark - DirectX 12 gegen DirectX 11
Nvidia indes betont in seinem Reviewer's Guide zudem die "gegenüber Radeons deutlich überlegenere Leistung unter DirectX 11". Eine Aussage, die zumindest in einigen alltäglichen Situationen tatsächlich zutrifft - wenn auch lange nicht in allen - und auch in unseren Benchmarks besonders in 1080p überdeutlich auffällt. Die Geforce-GPUs sind unter DirectX 11 sehr nahe an den Ergebnissen, die sie unter DirectX 12 erzielen, teils schneiden die Nvidia-Grafikkarten unter DirectX 12 gar schlechter ab - ganz offensichtlich ist es Nvidia gelungen, eine DirectX 12 ähnelnde Performance durch Treiberoptimierungen schon unter DirectX 11 zu realisieren - was im Umkehrschluss allerdings bedeuten könnte, dass DirectX 12 für Geforce-Nutzer nur relativ geringere Leistungszuwächse bringen könnte - zumindest, was die reinen Frameraten betrifft. Die Radeons hingegen zeigen unter DirectX 11 eine deutliche Limitierung, die selbst in Ultra HD noch die Bildraten negativ beeinflusst. Unter DirectX 12 legen die AMD-GPUs sehr stark zu, positionieren sich aber generell dort, wo man sie im Vergleich zu den Geforce-GPUs erwarten würde.
 
Zuletzt bearbeitet:
AW: DirectX 12: Caffeine-Entwickler erzielt 20% höhere Performance auf PC, Xbox One noch mehr

Nein, niemals habe ich behauptet das die API alles vorgibt, es überrascht mich auch, woher du das abgeleitet hast.
Denn es steht auch genau unter dem Satz den du oben zitiert hast, dass auch unter DX12 der IHV weiterhin eingreifen und optimieren kann.

Und natürlich ist das Diskussionslevel sehr grob, weil es fallen zu meist nur unscharfe Sätze, die auf keine konkrete Betrachtung zielen und mit Generalisierungen kommt man häufig nicht weit.

Was ist denn überhaupt das Diskussionsobjekt?
Wie gut die Performance in einem Spiel unter DX11 an DX12 herankommen kann?
Reden wir hier von einem sehr optimierten Spieleprofil vs. einfache DX12 Optimierungen?
Gehen wir vom Maximum auf beiden Seiten aus?

Und was betrachten wir als geringen Abstand? 5%, 20%?
Oder was ist ein großer?

Betrachten wir die CPU oder GPU-Seite und je nachdem was schließen wir darunter ein?
Zählt ein anderes Resource-Binding , ExecuteIndirect und async compute/copy?
Oder sollte der Code und Aufbau ähnlich sein? Was hat das dann für eine praktische Relevanz, wenn erweiterte Fähigkeiten von DX12 nicht eingesetzt werden?

Was betrachten wir dann hypothetisch als Spiel? Ist es simpel, ist es komplex, macht es abgefahrene Sachen?

Ich habe nicht ausgeklammert, dass der Treiber mitsamt den Shader-Compiler tricksen und teilweise auch einfach die API-Rules verletzen kann.
Das Problem an dieser Sache ist, dass kein IHV der Welt die Ressourcen hat das bei jedem Spiel zu machen und dann noch bis zum Optimum, weil das auch eine aufwendige Analyse für das Treiberteam bedeutet.
Entsprechend steht meine Behauptung, dass ein guter DX12 Pfad mit guten Treibern sich mehr als "wenig" über den DX11 Pfad absetzen wird.
Aber meine Behauptung ist nicht konkret, denn weder weiß ich was wenig genau ist, noch gebe ich es an.
Wenn das Spiel ein Quadrat im leeren Zimmer ist, was hüpft, dann wird DX12 auch gewiss nicht schneller sein, als DX11.
Der Komplexitätsgrad gibt es dann einfach nicht her, um von den Verbesserungen und erweiterten Möglichkeiten von DX12 effektiven Gebrauch zu machen.
 
AW: DirectX 12: Caffeine-Entwickler erzielt 20% höhere Performance auf PC, Xbox One noch mehr

Bin ja mal gespannt was asynchronous shader letztendlich bringt,das neue Tomb Raider soll ja davon gebrauch machen. Leider kommt es ja erst Später für den PC. Vlt. schafft es ja damit die Fury mal ihre Rohleistung eher auf die Straße zu bringen.
 
Zuletzt bearbeitet:
AW: DirectX 12: Caffeine-Entwickler erzielt 20% höhere Performance auf PC, Xbox One noch mehr

Für die Async Shader wären einige Zusatzinformationen nicht schlecht.
Ashes of the Singularity soll welche für Post-Processing verwenden, was genau und wie viel das bringt :ka: .
Einen ungewöhnlichen Performanceausschlag hat man jedenfalls nicht erkennen können.
Bei Thief waren das auch nur wenige % an Performance.
Ganz anders bei The Tomorrow Children, welche Async Compute für die Lichtberechnung verwenden, dort waren es grob 20%.
Tomb Raider verwendet async compute, auch für das Lightning.
Vielleicht steht dort AMD besser dar, es verwendet auch TressFX, noch eine interessante Sache.
 
AW: DirectX 12: Caffeine-Entwickler erzielt 20% höhere Performance auf PC, Xbox One noch mehr

Denn es steht auch genau unter dem Satz den du oben zitiert hast, dass auch unter DX12 der IHV weiterhin eingreifen und optimieren kann.

Ja, wie ich bereits schrieb, ist die API nicht mehr zwingend limitierend beim compilen des Shadercodes. Aber es über den Treiber zu Optimierungen ist sehr aufwändig. Manche der Optimierungen die man in den letzten Jahren durchgeführt hat, besonders von Nvidia, sind mittlerweilde in DX12 spezifiziert. Damit wird es einfacher für die Entwickler selbst zu optimieren, solange die Engine es mitmacht, sonst ist es wieder sehr aufwändig. Genau dafür ist die API da, um eine abstrahierte/vereinfachte Schnittstelle zu bieten.

Ich habe nicht ausgeklammert, dass der Treiber mitsamt den Shader-Compiler tricksen und teilweise auch einfach die API-Rules verletzen kann.
Das Problem an dieser Sache ist, dass kein IHV der Welt die Ressourcen hat das bei jedem Spiel zu machen und dann noch bis zum Optimum, weil das auch eine aufwendige Analyse für das Treiberteam bedeutet.

Dann sind wir uns doch einig, dass wollte ich hervorheben.

Was ist denn überhaupt das Diskussionsobjekt?
Wie gut die Performance in einem Spiel unter DX11 an DX12 herankommen kann?

Zum einen genau das bzw. wie man dies bewerkstelligt und zum anderem, dass die API alleine eben nicht über alles entscheidet.
Das ist eine worklflow Kette von Engine, über API bis shader compiler. Und der shader compiler kann am Ende sein eigenes Süppchen kochen.
Nvidia entscheidet am Ende wie der Code auf ihrer GPU ausgeführt wird (wenn sie es denn möchten) und nicht der Entwickler des Spiels und auch nicht die API.
Wenn man sich das einfach mal bewusst macht, dann versteht man die Abhängigkeiten eher und damit auch bestimmte Benchmark Ergebnisse. Daher habe ich das in den Raum geworfen, da es in der aktuellen DX12 Diskussion vernachlässigt wird.
 
AW: DirectX 12: Caffeine-Entwickler erzielt 20% höhere Performance auf PC, Xbox One noch mehr

Nvidia hat praktisch aber nicht die volle Gewalt darüber, wie der Code letztendlich ausgeführt wird.
Theoretisch würde das bedeuten, dass Nvidia 100% weiß, wie das Spiel intern funktioniert, wann es buffer erstellt, beschreibt, löscht, welche Abhängigkeiten zu welcher Zeit bestehen können oder nicht, wann es sicher ist Operation A/B/C auszuführen, ohne am Ende Rendering-Bugs oder gar Abstürze zu haben.
Sie könnten super fiktiv, alle Shader austauschen, für optimalen Durchsatz.
So läuft das aber nicht, Nvidia und alle anderen sind stellenweise gezwungen nach der Flöte zu tanzen.

Dieses Unwissen über die genauen Abläufe ist natürlich auch der Grund wieso es überhaupt Treiber-Updates gibt, wieso optimale Ergebnisse nur zu Stande kommen, wenn IHV und ISV eng zusammenarbeiten, weil ansonsten die Leistung nie ganz auf den Boden kommt.
Das haben die ganzen Leute auch angesprochen was DX11 betrifft.
Der Spieleentwickler weiß nicht genau, nach welchen Kriterien der Treiber optimiert, sie haben kein Wissen darüber, ob der Code den sie geschrieben haben, wirklich so umgesetzt wird, wie sie sich das vorstellen.
Auf der anderen Seite wissen die IHVs auch nicht genau, wie das Spiel exakt funktioniert.
Am Ende des Tages hat man zwei Parteien die gegenseitig versuchen zu erraten was der andere macht oder will.

Entsprechend existiert auch DX12 nicht ohne Grund, weil DX11 am Ende ist und das Treiber Hacking und optimieren einfach zu viel Ressourcen verschlingt und auch keine optimalen Ergebnisse zu Tage fördern kann.
 
AW: DirectX 12: Caffeine-Entwickler erzielt 20% höhere Performance auf PC, Xbox One noch mehr

@ Locuza

Dann sind wir uns einig. Klar wenn beide Seiten zusammenarbeiten bzw. Nvidia den source code bekommt, dann kann man unheimlich viel optimieren, unabhängig von der API. Sonst ist es schwerer. Bei Gameworks Titeln gehe ich davon aus, dass dort mehr "zusammengearbeitet" wird. Siehe z.B. CARS.

Entsprechend existiert auch DX12 nicht ohne Grund, weil DX11 am Ende ist und das Treiber Hacking und optimieren einfach zu viel Ressourcen verschlingt und auch keine optimalen Ergebnisse zu Tage fördern kann.

Ja genau. Es müssen halt auch die Engines mitmachen, was mit der Zeit passieren wird. Dann müssen die Entwickler auch entsprechende Optimierungsmöglichkeiten nutzen bzw. die Mehrarbeit investieren. Aber hier kann der Treiber mal wieder aushelfen...
 
Zurück