News DirectX 12: Vorschau auf DirectX Mesh Shader und DXR Tier 1.1

lnnz schrieb:
Prestige wäre, wenn AMD Raytracing in BFV mit soliden 60 fps/FullHD hinbekommt. Und das ist wahrscheinlich aktuell einfach nicht drin, das bekommt ja NVidia gerade mal mit der 2080 hin.
Raytracing auf 1440p Ultra ballere ich mit 115 plus minus fps, also unter fullhd packt somit auch die 2060 die 60 fps.
Ergänzung ()

Che-Tah schrieb:
@Laphonso: Du vergisst dabei aber die XBOX... und die Unterstützungsleistungen von MS den Entwicklern gegenüber.
Da gehts mMn garnicht um Böse Absichten... das ist normales Business.

Ich bin da eher bei @Shoryuken94
Ich habe ein gamedevforum verlinkt, um den Umkehrschluss, dass MS ja Vulkan "bekämpfe", zu widerlegen.
Dort kann man sogar lesen, habe ich ja zitiert, wie komplex und vielscheichtig die Entscheidung ist, pro und contra D3D oder OpenGL & Vulkan.

Wie so häufig nützen aber Fakten wenig bei manchen Meinungen hier
 
Ich denke, dass das, im gesamten bisher recht gut zusammen passt, wenn man die zukünftige Marktausrichtung und Strategie von Microsoft berücksichtigt Windows zu vermieten.

Meinet wegen darf es jedoch auch gerne etwas weniger "aggressiv" dabei zugehen.
 
  • Gefällt mir
Reaktionen: lnnz
Zero_Point schrieb:
@ZeroZerp
Sinnvoll war der eingeschlagene Weg von MS offenbar nicht, wenn man sich die Verbreitung von DX12 nach 4,5 Jahren ansieht. Da wäre es sogar sinnvoller gewesen DX12 ganz bleiben zu lassen. ;)

Die Sache ist die, dass Spieleentwickler mit DX9 in seinen Varianten alle Werkzeuge an Bord hatten, die bequem dafür sorgten, dass eine ganze Menge an GPUSs und Betriebssystemvarianten (bis runter zu Windows 98) standardisiert angesprochen werden konnten.

Man wurde allein durch die Langlebigkeit so gut darin, diese Schnittstelle auf das letzte auszunutzen, so dass es einfach keine Notwendigkeit gab auf DX10/10.1 umzusteigen. Diese Schnittstellenversion wurde praktisch nicht genutzt.
Erst mit der breiten Unterstützung der neuen Plattformen wie Windows 7 und dem Einzug des Bedürfnisses auch mehrere Cores sinnvoll nutzen zu können und dabei die Szenenkomplexität steigern zu können, kam DX11 ins spiel, was diesbezüglich einige Schmankerl auf Lager hatte.
DX11 ist in mancher Hinsicht DX9 wirklich um Meilen überlegen.
Deshalb hat es sich inzwischen durchgesetzt. Ohne DX11 würde so manch modernes Spiel im wahrsten Sinne des Wortes "alt" aussehen, oder wesentlich langsamer laufen.

DX11 macht automatisiert so viel richtig, so dass die ganzen schönen neuen Features von DX12 die Bequemlichkeit und den Erfahrungsschatz mit DX11 nicht aufwiegen können, den die Entwickler inzwischen gesammelt haben (kommt uns das nicht bekannt vor)?

Dennoch ist DX12 in vielen Bereichen ein Türöffner, da dem Entwickler wiederum ein aufgewertetes und sehr sehr leistungsfähiges Toolset an die Hand gegeben wird, was unter Anderem auch dem Wunsch nach hardwarenäherer Programmierung (so man denn will) befriedigen kann.
Gerade auch in Sachen Multithreading, Drawcallhandling etc. hat man mit DX12 ganz andere Möglichkeiten, die auf moderne Systeme abgestimmt sind.
Auch wenn ich mir gewünscht hätte, dass man diesbezüglich mehr alte Zöpfe abschneiden hätte dürfen (z.B. micro stutter beim shader compiling), so gehen wir gerade was texture- streaming, meshlet Behandlung etc. in eine zukunftsträchtige Richtung.

DX12 kam zu früh - Die Software und die alten Engines hatten diesbezüglich einfach noch keine Anforderung, gerade weil man sowieso erst sehr spät angefangen hat überhaupt auf DX11 zu switchen.

LG
Zero
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Three of Nine, evilhunter, Zero_Point und eine weitere Person
Directx12 ist und bleibt eine schlecht optimierte API und hat keine Daseinsberechtigung gegen Vulkan, trotzdem setzen die meisten Developer auf diese Schnittstelle, es ist unglaublich wie inkompetent die Programmierer da draußen sind.

Und wer Zeit und Geld sparen möchte, da wird auch heute noch Directx11 weiternutzen.

Raytracing brauch ich auch heute nicht in den Spielen.
 
Zuletzt bearbeitet von einem Moderator:
  • Gefällt mir
Reaktionen: Three of Nine, Termy und Zero_Point
@Laphonso

hast du auch mal den inhalt deiner links gelesen? da steht nichts drin, was deine behauptungen stützt.

hier:
https://gamedev.stackexchange.com/q...icrosoft-prevent-developers-from-using-vulkan

wird nur die frage diskutiert, ob M$ über EULAS oder andere verträge das nutzen von dx12 zwingend vorschreibt. das geht hier an der diskussion vorbei, da sowas hier nie erwähnt wurde.

und hier:
https://www.reddit.com/r/linux/comments/81114g/why_do_game_companies_still_use_directx_instead/

wird auch in jede richtung argumentiert - eine eindeutige conclusio wird auch hier nicht getroffen. zumal das auch nur irgend ein reddit thread ist. das ist als quelle nicht mehr oder weniger wert als die diskussion hier im forum.

allerdings ist man sich einig, dass dx12 und vulkan sehr ähnlich sind, was ja auch so ist.

microsoft ist übrigens auch in der khronos group, d.h. die wissen genau was abgeht und haben sogar stimmrechte, und man hätte sich auch dafür einsetzen können, dx12 in einem frühen stadium mit vulkan zu fusionieren. man hätte gemeinsam an einer modernen api arbeiten können, die viele kompatibilitätsprobleme lösen würde. aber das löst für M$ garkeine probleme. die wollen ein monopol mit windows + xbox + windows store. man hat nix davon andere hersteller mit einer gemeinsamen API zu unterstützen.

wann immer vulkan einen schritt nach vorne macht, zieht microsoft mit dx12 aggressiv nach. der große startschuss für dx12 war die vulkan version von doom2016, die jede einzelne der 5 zu der zeit verfügbaren dx12 umsetzung lächerlich schlecht hat aussehen lassen. das hat mal so überhaupt nicht in die argumentation "win10 bestes gaming windows dank dx12" gepasst und war für microsoft wohl sehr unangenehm.

und jetzt die zusammenarbeit mit nvidia für DXR - hier steht für mich ganz klar dahinter, dass beide (nvidia + microsoft) die jeweilige konkurrenz (amd + intel für nvidia und vulkan für microsoft) mit diesem vorstoß technologisch ausbooten wollen. nur wenig hat vor turing darauf hingedeutet, dass real time raytracing jetzt das ding der stunde ist - viel eher sieht das danach aus, als ob microsoft & nvidia DRX/RTX pushen wollten, damit über die marktmacht der beiden ein neuer "standard" etabliert wird, bei dem die konkurrenz einen technologischen nachteil hat, da hier schlicht nichts in die richtung investiert wurde.

hier muss auch mal world of tanks erwähnt werden, denn hier hat intel bei der raytracing umsetzung mitgeholfen - ganz ohne microsoft DXR und nvidia RTX, da DX11.

https://www.computerbase.de/2019-10/world-of-tanks-encore-rt/

hier werden nur die schatten per raytracing berechnet - das selbe gibts auch mit DXR und RTX bei shadow of the tombraider.

https://www.computerbase.de/2019-03...ing-dlss/#abschnitt_benchmarks_mit_raytracing

das kuriose ist jetzt, dass die raytracing performance der 2070 in world of tanks und shadow of the tomb raider sehr ähnlich einbricht. höchtes raytracing = ~65% der performance ohne raytracing.

jüngstes beispiel:

https://www.computerbase.de/2019-10/cod-modern-warfare-test/2/

auch hier bricht die 2070 auf 72% der performance ein - ein delta von 7% zu sotr und wot.

sicherlich kann man das jetzt nicht 1:1 übertragen, dennoch bleibt da ein gewisser beigeschmack. zumal navi das raytracing sehr gut verkraftet, obwohl die karte mit echtzeit raytracing garnichts am hut hat. nvidia hätte das nämlich gerne mit pascal in einem anderen licht: https://www.computerbase.de/2019-04/nvidia-pascal-raytracing-treiber/

shadow of the tomb raider nutzt die rtx und tensor cores, und world of tanks anscheinend nicht (laut CB artikel). wer erinnert sich noch an die raytracing demo von crytek, die auf einer vega56 gelaufen ist? da stellt sich doch die frage: inwiefern ist DXR + nvidia RTX ein technologischer, proprietärer affenzirkus? das erinnert mittlerweile doch schon eher an die gameworks tessellation - hier wurde ebenfalls über software eine hardwarelösung für ein bis dahin nicht existentes, selbst produziertes problem nötig gemacht.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: m.Kobold, Rawday, Zero_Point und eine weitere Person
duskstalker schrieb:
hast du auch mal den inhalt deiner links gelesen?

Es ging mir um folgende Facetten
  • Dass MS Vulkan "bekämpft" höchst unklücklich auzsgedrückt, weil es sich im Kontext liest, als würde das "verhindern"
  • Dass Devs nicht nach Wetterlage entscheiden, wann und ob sie Vulkan oder DX nehmen, das sind Plattform, Markt und Ressourcen sowie Know How Entscheidungen
  • Dass es sich gar nicht widerspricht, Vulkan UND DX zu bedienen

Ich bin mir nicht sicher, ob Du mir über Umwege zustimmst in Deinem Posting, denn Du holst noch weiter aus, als ich das üblicherweise und oft genug mache ;-)
 
@ZeroZerp
Ich stimme dir vollkommen zu. Allerdings hat MS die Verbreitung von DX12 genauso selbst behindert wie damals bei DX10. Die API fest mit einem bestimmten, recht unbeliebten OS zu dongeln dürfte das wichtigste Entscheidungskriterium für Entwickler und Publisher sein. Niemand verzichtet freiwillig pauschal auf den Großteil der Kundschaft. Die Alternative wäre 2 APIs zu unterstützen, wie das manche machen. Aber hier stellt sich die Frage nach Aufwand und Nutzen.
DX12 kam nicht zu früh, es war einfach nicht beim Endkunden verfügbar.
 
  • Gefällt mir
Reaktionen: .Sentinel.
Roi-Danton schrieb:
Ist die MeshShader Pipeline mit aktueller Hardware kompatibel?

Nvidia hat 2018 bereits Mesh-Shader mit Turing eingeführt welche mit Erweiterungen unter OpenGL, Vulkan und DX12 (NVAPI) laufen. Würde mich nicht wundern wenn diese schon nah an dem dran sind was MS nun veröffentlicht (die Hardwarehersteller werden sicher schon Jahre vorher mit ins Boot geholt).

Gibt auch ein nettes Video dazu welches demonstriert wie viel Polygone Mesh-Shader ermöglichen:
 
  • Gefällt mir
Reaktionen: Roi-Danton
duskstalker schrieb:
Man bekämpft Vulkan, das andere OS als win10 zulässt.
Ja klar.
https://www.khronos.org/members/member_list

konkretor schrieb:
DirectX gehört entkoppelt von Windows.

Wie wir gesehen haben, kann das Microsoft, den auf einmal gab es DX12 auch für Windows 7.
Wieso brauch ich ne neue Windows Version nur um in DirectX eine Funktion mehr zu haben.
Geht eben nicht. MS hat nicht DX12 auf Windows 7 portiert, sondern eine Möglichkeit geboten, wie man DX12 Spiele nach Windows 7 portieren kann.
DX12 Spiele müssen angepasst werden um auf Windows 7 lauffähig zu sein. Die kann man nicht einfach so unter Windows 7 starten, weil dort jetzt eine DX12 API existiert. So läuft das nicht.
We only ported the D3D12 runtime to Windows 7. Therefore, the difference of Graphics Kernel found on Windows 7 still requires some game code changes, mainly around the presentation code path, use of monitored fences, and memory residency management (all of which will be detailed below). Early adopters reported from a few days to two weeks of work to have their D3D12 games up and running on Windows 7, though the actual engineering work required for your game may vary.
https://microsoft.github.io/DirectX-Specs/d3d/D3D12onWin7.html
 
  • Gefällt mir
Reaktionen: evilhunter, KlaraElfer und xexex
duskstalker schrieb:
und jetzt die zusammenarbeit mit nvidia für DXR - hier steht für mich ganz klar dahinter, dass beide (nvidia + microsoft) die jeweilige konkurrenz (amd + intel für nvidia und vulkan für microsoft) mit diesem vorstoß technologisch ausbooten wollen.

Mach dich nicht lächerlich! Es gibt bis heute keine RT API für Vulkan und das kommt bestimmt nicht daher, weil sich Microsoft und Nvidia so lieb haben, sondern schlichtweg weil das "tolle" Khronos Konsortium unfähig ist eine Entwicklung voran zu bringen. Es sitzen dort nun mal die gleichen unfähigen Leute die OpenGL schon zum glorreichen Abstieg verholfen haben.

AMD kann genauso DXR unterstützen wie es auch Intel tun wird und letztlich werden Karten mit DXR Unterstützung zumindest von AMD im kommenden Jahr kommen. Das AMD hier nicht aus den Puschen kommt, liegt sicherlich nicht daran weil die Welt böse ist, sondern weil sie für DXR eh keine GPUs haben, die leistungsfähig genug dafür wären.

Das im kommendem Jahr weder AMD noch Intel Karten unter Vulkan RT Effekte berechnen können werden, wird ebenfalls nicht die Schuld von Nvidia sein. Wo es keine API gib, kann man auch nichts für entwickeln. Im Moment wird RT unter Vulkan auf Nvidia Karten nur durch proprietäre Nvidia Erweiterungen unterstützt. Eigentlich können alle froh sein, dass es DXR gibt, so werden aktuelle Titel die RT unterstützen auch bald auf AMD und Intel Karten laufen. Wie das in der Zukunft unter Vulkan aussehen wird, steht hingegen in den Sternen.

Das Problem von Vulkan ist letztlich ähnlich wie das Problem von Linux an sich. Wo zig Leute im Boot sitzen und jeder von denen in eine andere Richtung paddelt, dreht man sich am Ende im Kreis. AMD investiert sowieso anscheinend kaum Manpower in API Entwicklung, Nvidia kann es eigentlich egal sein, immerhin bringen sie eigene Erweiterungen rein, Sony setzt auf eine eigene API und wird Raytracing in diese API implementieren müssen, bei Apple sieht es nicht anders aus, auch hier gibt es keine Bekenntnis zu Vulkan. Der einzige Hersteller der durch Stadia ein Interesse an RT unter Vulkan in der Zukunft haben wird, ist Google, Die kümmerte bisher allerdings nur der Mobilmarkt und dort ist RT derzeit komplett uninteressant.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: noxon, indy1138 und KlaraElfer
Zurück
Oben