DirectX 12: AMD zeigt sich euphorisch über 3DMark API-Overhead-Test

AW: DirectX 12: AMD zeigt sich euphorisch über 3DMark API-Overhead-Test

Wie Alk bereits geschrieben hat: Genau das Gegenteil ist der Fall. Es werden in heutigen Spielen keine 6 Kerne für Direct3D benötigt. Je nach Architektur sind vielleicht nur zwei oder gar nur ein einziger nötig. Aber das Spiel braucht gegebenenfalls selbst einen schnellen/schnelleren Kern.

Man muss vier Fälle unterscheiden:
1. Direct3D 11 lastet einen Kern voll aus, alle anderen Kerne haben noch Reserven
2. Direct3D 11 lastet einen Kern voll aus, mindestens ein anderer Kern ist zu 100% ausgelastet
3. Direct3D 11 lastet einen Kern nicht voll aus, die gesamte CPU ist zu annähernd 100% ausgelastet
4. Direct3D 11 lastet einen Kern nicht voll aus, die restliche CPU hat Reserven

In Fall 1 kann D3D 12 viel Leistung freisetzen, in dem die Last auf andere Kerne verteilt wird.
In Fall 2 kann D3D 12 keine Leistung freisetzen. Wenn das Spiel schon heute einen zweiten Kern zu 100% auslastet, dann wird dieser Spiel-Thread auch in Zukunft das Performance-Limit definieren.
In Fall 3 kann D3D 12 eventuell Leistung freisetzen, wenn die Gesamtrechenlast von Direct3D und Spiel geringer ausfällt.
In Fall 4 kann D3D 12 keine Leistung freisetzen, es liegt klassische GPU-Limitierung vor.


Spannend wird, welche Fälle in realen Spielen wann gegeben sind:
- Fall 1 könnte bei AMD-FX-Achtkernern auftreten. Jedes Spiel, dass auf einem Haswell-Quadcore schneller läuft, ist ein Kandidat für Fall 1.
- Aber auch einer für Fall 2, der nicht von D3D 12 profitiert. Leider kann man das nicht gezielt testen, denn die Draw Calls lassen sich nur über Bildinhalt und Framerate beeinflussen. Ersterer beeinflusst auch das restliche Spiel, so dass Fal 1 vorliegen könnte, letztere ändert sich nur bei GPU-Limitierung unabhängig von der CPU, es läge Fall 4 vor.
- Fall 3 dürfte oberhalb von Dualcore-CPUs selten sein. Ein heutiger Test wären Spiele, die auf einem Haswell-Hexacore schneller laufen, als auf einem Haswell-Quadcore...
- ...und zwar in realitätsnahen Settings. Meistens dürfte in denen aber eh Fall 4 vorliegen und der profitiert nicht von D3D 12.

Sobalt die DCs nutzbar sind werden sie in den meisten Fällen in die Qualli rauschen(danach lechst doch jeder Gamedesigner). Außerdem sind die ganzen Lehrlaufzeiten(die ja auch eine Last auf der CPU bewirken) wo die KI bzw Physik auf den nächsten Call warten muss so gut wie eliminiert. Das kann dann entweder in bessere simulierter Physik bzw KI genutzt werden oder halt in absurden Mengen von NSCs, Partikeln usw. Ohne das die CPU Last wesentlich steigt. Ich nehme mal den Film "Final Fantasy - Die Mächte in Dir" heran was in 2 Jahren Standard(Deteilgrad) sein wird. ;) Sind wir doch mal ehrlich seit gut 3-4 Jahren langweilen sich doch die Shaders von den Grafikarten. Hätten wir keine Kantenglättung/Filter wären die doch nicht nötig. Die 390 wird uns umhauen was das angeht. Und mit 4k kann all die Leistung nun auch für Details verbraten werden. Mir läuft es grad Kalt den rücken runter....
 
Zuletzt bearbeitet:
AW: DirectX 12: AMD zeigt sich euphorisch über 3DMark API-Overhead-Test

Sorry, aber ich dreh noch durch wenn ich das noch einmal lesen muss...

Draw Call Leistung != effektive Rechenleistung

Sag mal, hast du eigentlich den Thread überhaupt gelesen, bevor du gerade mir hier so etwas in den Mund legst? :ugly: Sonst hättest du ja z.B. das hier gesehen:
Der Code ist aber (aufgrund der unglaublich vielen Draw Calls) quasi mit Absicht so geschrieben, dass er langsam und ineffektiv läuft ;) Das wird man so in keinem Spiel finden - es sei denn, der Entwickler will gezielt DX11 ausbremsen. Man kann das gleiche Bild auch auf den Bildschirm zaubern, ohne so viele Draw Calls zu verbraten (Batching, etc.).

Wie du siehst ist mir völlig klar, dass das ein rein synthetischer Benchmark ist, und nahezu nix mit der Spiele-Leistung zu tun hat. AMD schneidet halt momentan in diesem synthetischen Benchmark recht gut ab. Meine obige Aussage war in erster Linie nur auf das Sinnlos-Posting bezogen, was shahisinda zuvor verfasst hatte, siehe dort ;)
 
AW: DirectX 12: AMD zeigt sich euphorisch über 3DMark API-Overhead-Test

Was labern hier eigentlich immer einige davon das draw call lastige Szenarien irgendein Spezialfall sind ? Guckt euch erstmal an wozu draw calls gebraucht werden.

Die nächste depperte Aussage ist oft : "Spiele nutze gar nicht soviele draw calls!"
Ja wie auch wenn es dx11 nicht hergibt, aus diesem Grund sehen Spiele eben weit mieser aus als es die Hardware erlauben würde.
 
AW: DirectX 12: AMD zeigt sich euphorisch über 3DMark API-Overhead-Test

Also der Benchmark ist nun wirklich kein Maßstab dafür.
Das hat mit Spielen nichts zu tun.
 
AW: DirectX 12: AMD zeigt sich euphorisch über 3DMark API-Overhead-Test

Also der Benchmark ist nun wirklich kein Maßstab dafür.
Das hat mit Spielen nichts zu tun.

Aha, also wenn bei DX12 Spielen aufgrund eines hohen Detailgrades viele Objekte gezeichnet werden müssen und der CPU Overhead extrem reduziert wird, hat dieser Bench schon sehr viel damit zu tun... bei Mantle konnte man das ja quasi schon testen, mit DX12 gehts in die nächste Runde. Also ich freue mich darauf und wenn AMD dauerhaft besser unter DX12 sein sollte ist das nur gut für den Markt.
 
AW: DirectX 12: AMD zeigt sich euphorisch über 3DMark API-Overhead-Test

Der Bench hier zeigt simpel, dass die anderen APIs deutlich mehr Durchsatz schaffen, als DX11.
Vergleichbare Ergebnisse über mehrere GPUs werden hier aber nicht ausgespuckt, genau so wenig Erkenntnisse für den praktischen Gebrauch.
Nur um mal die Relation gerade zu biegen, hier werden bei einer 290X über 15 Millionen Draw-Calls pro Sekunde gesendet und der Benchmark stoppt bei unter 30 FPS wenn ich das richtig verstanden habe?
Das wären über 500K Draws per Frame, BF4 braucht weniger als 10K.
 
AW: DirectX 12: AMD zeigt sich euphorisch über 3DMark API-Overhead-Test

Was labern hier eigentlich immer einige davon das draw call lastige Szenarien irgendein Spezialfall sind ? Guckt euch erstmal an wozu draw calls gebraucht werden.

Die nächste depperte Aussage ist oft : "Spiele nutze gar nicht soviele draw calls!"
Ja wie auch wenn es dx11 nicht hergibt, aus diesem Grund sehen Spiele eben weit mieser aus als es die Hardware erlauben würde.

Das Zauberwort hier lautet "Draw Call Batching". In nahezu allen Spielen werden viele gleichartige Draw Calls zu Batches zusammengefasst, und gemeinsam abgeschickt. Das erzeugt nur sehr wenig CPU-Overhead, weil der ganze Batch nur so viel Verwaltungsarbeit benötigt, wie ein einzeln abgeschickter Draw Call. Deshalb schrieb ich bereits oben schon: Man kann exakt das gleiche Bild wie in diesem Benchmark auch mit lediglich ca. 1% der Draw Calls erreichen - ohne irgendwelche Qualitätseinbußen, dafür aber viel schneller und effizienter. So machen das Spiele. Dieser Benchmark ist mit Absicht so geschrieben, dass er diese Technik nicht einsetzt, um auf solche extrem hohen Draw Call-Anzahlen zu kommen.
 
AW: DirectX 12: AMD zeigt sich euphorisch über 3DMark API-Overhead-Test

Beim neuen Fable liegt der Performance unterschied von dx11 zu 12 bei ca. 25%.

Wenn ich mit dx12 25% oder mehr Leistung umsonst bekomme, dann bin ich schon zufrieden.
 
AW: DirectX 12: AMD zeigt sich euphorisch über 3DMark API-Overhead-Test

Der Bench hier zeigt simpel, dass die anderen APIs deutlich mehr Durchsatz schaffen, als DX11.
Vergleichbare Ergebnisse über mehrere GPUs werden hier aber nicht ausgespuckt, genau so wenig Erkenntnisse für den praktischen Gebrauch.
Nur um mal die Relation gerade zu biegen, hier werden bei einer 290X über 15 Millionen Draw-Calls pro Sekunde gesendet und der Benchmark stoppt bei unter 30 FPS wenn ich das richtig verstanden habe?
Das wären über 500K Draws per Frame, BF4 braucht weniger als 10K.

Stell dir halt einfach vor wie BF5 mit 500K Draws ein BF4 richtig alt aussehen lässt.

Das Zauberwort hier lautet "Draw Call Batching". In nahezu allen Spielen werden viele gleichartige Draw Calls zu Batches zusammengefasst, und gemeinsam abgeschickt. Das erzeugt nur sehr wenig CPU-Overhead, weil der ganze Batch nur so viel Verwaltungsarbeit benötigt, wie ein einzeln abgeschickter Draw Call. Deshalb schrieb ich bereits oben schon: Man kann exakt das gleiche Bild wie in diesem Benchmark auch mit lediglich ca. 1% der Draw Calls erreichen - ohne irgendwelche Qualitätseinbußen, dafür aber viel schneller und effizienter. So machen das Spiele. Dieser Benchmark ist mit Absicht so geschrieben, dass er diese Technik nicht einsetzt, um auf solche extrem hohen Draw Call-Anzahlen zu kommen.

Batching kommt mit diversen Limits und ist weniger flexibel. Objekte müssen die selben Materialien haben, wenig Polygone oder gar statisch sein.
Hier lies selbst : Unity - Manual: Draw Call Batching

Die Monster Raumschlacht in Star Citizen mit hunderten high poly Raumschiffen wird ohne dx12 garantiert NICHT realisierbar sein.
 
AW: DirectX 12: AMD zeigt sich euphorisch über 3DMark API-Overhead-Test

Batching kommt mit diversen Limits und ist weniger flexibel. Objekte müssen die selben Materialien haben, wenig Polygone oder gar statisch sein.
Hier lies selbst : Unity - Manual: Draw Call Batching

Die Monster Raumschlacht in Star Citizen mit hunderten high poly Raumschiffen wird ohne dx12 garantiert NICHT realisierbar sein.

Brauch ich nicht zu lesen, kenne mich damit gut aus, habe früher selbst mal an einer 3D-Engine mitprogrammiert (damals noch unter DirectX 8.0, aber das Prinzip des Batchings war schon das gleiche) :) Die Einschränkungen gibt es schon, z.B. beim Material. Aber wenn man z.B. 500K Draw Calls pro Frame umsetzt, dann willst du mir jetzt etwa erzählen, dass jeder einzelne davon ein einzigartiges Material benutzt, wie es in keinem anderen Draw Call vorkommt? 500K verschiedene Materialien? Eher nicht ^^ Irgendwas lässt sich immer batchen, man muss es nur clever anstellen. So eine "Monster-Raumschlacht" ist auch mit DX11 realisierbar (möglicherweise mit geringen Qualitätsabstrichen, die man aber nur im Screenshot erkennt), wenn man es nur gut genug optimiert (was in dem Fall durchaus Jahre dauern könnte).

Im Kern der Sache stimme ich dir ja komplett zu: DX12 / Mantle / Vulkan sind echt tolle Technologien, und es wird höchste Zeit, das sich so etwas verbreitet :daumen: Man sollte aber halt nicht die Erwartungen zu hoch hängen. Es wird nicht so sein, dass mit DX12 plötzlich eine extrem atemberaubende Grafik kommt, wie man sie vorher nie gesehen hat. Falls DX12 bei realen Spielen im Durchschnitt so 20% schneller läuft als DX11 (oder umgedreht 20% "bessere" Grafik bei gleicher Framerate zeichnen kann), wäre das schon ein echter Fortschritt.
 
AW: DirectX 12: AMD zeigt sich euphorisch über 3DMark API-Overhead-Test

Brauch ich nicht zu lesen, kenne mich damit gut aus, habe früher selbst mal an einer 3D-Engine mitprogrammiert (damals noch unter DirectX 8.0, aber das Prinzip des Batchings war schon das gleiche) :) Die Einschränkungen gibt es schon, z.B. beim Material. Aber wenn man z.B. 500K Draw Calls pro Frame umsetzt, dann willst du mir jetzt etwa erzählen, dass jeder einzelne davon ein einzigartiges Material benutzt, wie es in keinem anderen Draw Call vorkommt? 500K verschiedene Materialien? Eher nicht ^^ Irgendwas lässt sich immer batchen, man muss es nur clever anstellen. So eine "Monster-Raumschlacht" ist auch mit DX11 realisierbar (möglicherweise mit geringen Qualitätsabstrichen, die man aber nur im Screenshot erkennt), wenn man es nur gut genug optimiert (was in dem Fall durchaus Jahre dauern könnte).

Im Kern der Sache stimme ich dir ja komplett zu: DX12 / Mantle / Vulkan sind echt tolle Technologien, und es wird höchste Zeit, das sich so etwas verbreitet :daumen: Man sollte aber halt nicht die Erwartungen zu hoch hängen. Es wird nicht so sein, dass mit DX12 plötzlich eine extrem atemberaubende Grafik kommt, wie man sie vorher nie gesehen hat. Falls DX12 bei realen Spielen im Durchschnitt so 20% schneller läuft als DX11 (oder umgedreht 20% "bessere" Grafik bei gleicher Framerate zeichnen kann), wäre das schon ein echter Fortschritt.

Ich fürchte das Du das ganze unterschätzt. Das größte Problem wird Speicher sein. Zumindest in der ersten Generation ;)
 
AW: DirectX 12: AMD zeigt sich euphorisch über 3DMark API-Overhead-Test

Brauch ich nicht zu lesen, kenne mich damit gut aus, habe früher selbst mal an einer 3D-Engine mitprogrammiert (damals noch unter DirectX 8.0, aber das Prinzip des Batchings war schon das gleiche) :) Die Einschränkungen gibt es schon, z.B. beim Material. Aber wenn man z.B. 500K Draw Calls pro Frame umsetzt, dann willst du mir jetzt etwa erzählen, dass jeder einzelne davon ein einzigartiges Material benutzt, wie es in keinem anderen Draw Call vorkommt? 500K verschiedene Materialien? Eher nicht ^^.

Villeicht solltest du doch lieber noch mal nachlesen. Materialien sind nicht die einzige Einschränkung. Nur mal so als Beispiel für dynamische Objekte : "Objects that receive real-time shadows will not be batched."
Du kannst zum Beispiel nicht hundertausende dynamisch bewegte und beleuchtete Raumschiffe, Trümmerstücke und Asteroiden "zusammen batchen". Aber genau das ist es was wir für eine visuell und physikalisch
beindruckende Raumschlacht benötigen. Für so eine Szene können sehr wohl die fps unter dx11 auf null fallen, egal wie gut du optimiert hast.

Die Diskussion ist auch etwas müßig,da die Anzahl der batches abhängig ist von derer der draw calls.
(Ein anderer Vorteil ergibt sich im Umkehrschluss auch für kleine Teams, die nicht genug Ressourcen zum optimieren haben.)
 
AW: DirectX 12: AMD zeigt sich euphorisch über 3DMark API-Overhead-Test

Wie Alk bereits geschrieben hat: Genau das Gegenteil ist der Fall. Es werden in heutigen Spielen keine 6 Kerne für Direct3D benötigt. Je nach Architektur sind vielleicht nur zwei oder gar nur ein einziger nötig. Aber das Spiel braucht gegebenenfalls selbst einen schnellen/schnelleren Kern.

Man muss vier Fälle unterscheiden:
1. Direct3D 11 lastet einen Kern voll aus, alle anderen Kerne haben noch Reserven
.

Das trifft aufjedenfall auf Rome 2 Total War zu. Zumindenst wenn man im CPU Limit spielt. Kann sein das es mit einer Nvidia Karte etwas besser verteilt wird.
 
AW: DirectX 12: AMD zeigt sich euphorisch über 3DMark API-Overhead-Test

Die Diskussion ist auch etwas müßig,da die Anzahl der batches abhängig ist von derer der draw calls.
Da wir uns ja hier sowieso einig sind, dass die neuen Apis sinnvoll und nützlich sind, ist die Diskussion sowieso müßig, ja :) Es ist überhaubt nicht meine Absicht, irgendwas an DX12 schlecht zu reden oder so ^^

Ein anderer Vorteil ergibt sich im Umkehrschluss auch für kleine Teams, die nicht genug Ressourcen zum optimieren haben.
Jepp, sehe ich genau so. Die Zeit, die man sich zum Optimieren sparen kann, kann man (hoffentlich) stattdessen noch in Story, Texturen, Modelle und Fehlersuche stecken ;)
 
AW: DirectX 12: AMD zeigt sich euphorisch über 3DMark API-Overhead-Test

Ein realistischer Maßstab, dass ist das einzige worum es mir hier geht.
Kein simpler Durchsatztest, der für irgendwelche falschen Ableitungen missbraucht wird.
Kein Spiel wird in so einen Bereich in naher Zukunft vordringen.
 
AW: DirectX 12: AMD zeigt sich euphorisch über 3DMark API-Overhead-Test

Ein realistischer Maßstab, dass ist das einzige worum es mir hier geht.
Kein simpler Durchsatztest, der für irgendwelche falschen Ableitungen missbraucht wird.
Kein Spiel wird in so einen Bereich in naher Zukunft vordringen.

Kein Spiel wird in naher Zukunft 32GB Ram benötigen, 8 Core CPU oder SLI TitanX....
Seit wann interessiert im Gaming die nahe Zukunft ?
 
AW: DirectX 12: AMD zeigt sich euphorisch über 3DMark API-Overhead-Test

Falls DX12 bei realen Spielen im Durchschnitt so 20% schneller läuft als DX11 (oder umgedreht 20% "bessere" Grafik bei gleicher Framerate zeichnen kann), wäre das schon ein echter Fortschritt.

Der Leistungsgewinn wird wohl in etwa so hoch sein wie bei Mantle und hier hat man ja bei den Minfps in BF4 Multiplayerszenen Steigerungen von teweilweise ~100% gesehen. Das kann also schon einiges bringen - 20% werdens wohl eher im GPU-Limit sein.
 
Zurück