Aber gerade "Asynchronous Compute" ist doch ein Feature das u.a. einen großen Vorteil gegenüber DX11 bringt, da es eine deutlich höhere Parallelisierung erlaubt.
Es wäre doch wahnsinnig dämlich eine neue API auf den Markt zu bringen die genau diesen Bottleneck angeht und dieses Key-Feature dann nicht zu verwenden.
Die Sache ist aber nicht ganz so simpel.
Dieser Bottleneck besteht bei jeder Hardware unterschiedlich stark ausgeprägt, bei AMDs GCN am krassesten.
Selbst wenn Intel und Nvidia verschiedene Kontexte gleichzeitig berechnen und einblenden könnten, wäre der Vorteil nicht so groß wie bei GCN, weil deren Idle-Phasen mit hoher Sicherheit kleiner sind (z.B. kleinere Thread-Groups, mehr Schedular).
Von der Software-Seite ist es natürlich auch nicht trivial oder allgemein ein Vorteil.
Man muss die erhöhte Parallelität explizit einbauen, überprüfen, synchronisieren.
Es ist wie bei einigen anderen Dingen auch, keine einfache Sache die Software und Hardware eindeutig nach etwas zu richten.
Selbst bei GCN kann eine suboptimale Implementierung von Async Compute zu schlechter Performance führen, wenn es zu Konfliktsituationen kommt, der Cache und die Logik von verschiedenen Workloads belastet wird usw.
Ein anderes Beispiel sind geometry-shader, praktisch geht man am Besten einen Bogen darum, was AMD Hardware angeht, weil AMDs Hardware sehr schlecht dort abschneidet.
Weil die Architektur nicht dafür konzipiert ist. Es ist schwer eine Architektur zu konzipieren die optimal für alle Anwendungsfälle geeignet ist.
Bei Nvidia läuft es etwas besser, aber immer noch relativ schlecht.
Intel ist der einzige Vendor, bei dem Geometry-Shaders anständig laufen.
Was sollen jetzt AMD und Nvidia tun? Ihre Architektur so umgestalten, damit Geometry-Shaders endlich vernünftig laufen?
Nicht so einfach, ohne wieder irgendwelche Kompromisse und komplexe Design-Entscheidungen zu treffen.
Ähnliches wird jetzt wohl auch für Intel und Nvidia gelten, keine einfache Sache Async Compute wie bei AMD zu implementieren.
Das zieht einen Rattenschwanz nach sich.
Erst kürzlich hatte ich ein Enwicklervideo zu DirectX12 gesehen in der genau diese drei DX12.1 Funktionen angepriesen wurden. Der Inhalt war sehr technisch, weshalb ich zuerst zuerst dachte, es wäre ein Knilch von Nivida gewesen, der die eigenen Produkte hervorhebt.
Dann war ich jedoch überrascht, dass es sich um einen Entwickler von Microsoft gehandelt hat. In den Ausführungen wurde gesagt, für alle neuen Microsoft Games werden die 12.1 Features als eigene Renderingpfade eingebaut.
Alle Karten ohne diese Unterstützungen bekommen einen Fallback-Pfad zu DX11.1 bzw. 11.3 (u.a. GCN, Kepler oder älter ). Es wurde dann viel über Fable geredet. Für mich ist das in dem Kontext dann der erste Titel. Leider finde ich das verdammte Video nicht mehr.
FL12.1 bitte.
DX12.1 kann ich nicht mehr lesen.
Ich Maße mir übrigens schon jetzt an, ohne zu wissen um welches Video es geht, dass die Aussage darin nicht war, dass alle neuen MS Games mit 12.1 Features ausgestattet werden.
Die Konsolen bieten die Features nicht und Conservative Rasterization und Tiled Resources Tier 3 sind kein Plug&Play, neben der Implementierung noch einen geeigneten Fallback zu entwickeln ist ein Haufen Arbeit.
Uns erwarten gerade mal so MS Spiele für PC, zusätzliche PC exklusive Features wären ein zusätzliches Wunder.