AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

[...]
Locuza versucht jedenfalls die Diskussion am Leben zu erhalten, wenn ich mir auch nicht ganz sicher bin aus welchen Grund, da kann reine Informationsgewinnung dahinter stecken (was man niemandem übel nimmt).
???

Was steckt denn sonst hinter meinen Ausführungen? Inhaltsloses Stammtisch Geplärre?

DX11.3 ist ein einfacheres D3D12 Subset, bestehend aus Ordered rasterizer View, Typed UAV Load, Volume Tiled Resources, Conservative grid und tatsächlich hat er Recht, wenn er bezweifelt das dieses wirklich Sinn macht. Ein Spiel das zu DX12 portiert werden kann, kann ganz sicher zu DX11.3 portiert werden, auch wenn das Subset in seiner Gesamtheit nicht verbindlich ist. Entgegen seiner "Meinung" behaupte ich, das Rendering ist kein grundlegend anderes...denn das devrel control set und die Feinheiten liegen im Detail (volume tiles, textures and sparse allocation, detection of polygons usw.) und gehen fließend in DX12 über.
DX11.3 ist kein einfacheres Subset von DX12.
Das sind zwei unterschiedliche APIs, keines davon ist ein direktes Sub- oder Superset vom anderem.
Es gibt eine Schnittmenge, die unter beiden APIs zu finden ist, aber keine API ist gänzlich in der anderen vorhanden.

DX12 arbeitet mit einem anderem und expliziten Resource-Model, Command-Lists und anderen APIs, welche z.B. für das neue Resource-Binding-Model zuständig sind, bei einer DX12-Umsetzung fällt entsprechend auch nicht automatisch irgendeine DX11.x-Version vom Spiel ab.
Das beste was im Angebot existiert ist ein D3D11 on 12 Layer, wo ein D3D11 Context mehrheitlich unter D3D12 abgebildet werden kann:
Direct3D 11 on 12 (Windows)

Das läuft aber natürlich auch nicht automatisch, man muss explizit das Interface dafür verwenden, die verwendeten Ressourcen müssen mit einer weiteren API noch verpackt werden, damit sie von Command-Lists verwendet werden können und es existieren mehrere Limitierungen.

Der Ursprungskontext war, dass jedes Spiel mit einer DX12-Portierung auch DX11.3 unterstützt, was einfach nicht stimmt.
Es ist natürlich nicht schwer, die Rendering-Features welche unter beiden APIs zu finden sind, auch für beide APIs umzusetzen.
Die Syntax für die Aufzählungstypen ist fast identisch, aber nicht völlig gleich, auch werden die APIs teilweise unterschiedlich von anderen aufgerufen (API Summary durchklicken):
Conservative Rasterization (Windows)
Conservative Rasterization (Windows)

Wenn du ein D3D11.0 Backend besitzt und zusätzlich ein D3D12 Backend mit Conservative Rasterization baust, dann wird dein D3D11.0 Backend nicht automatisch das Renderingfeature miteinfplegen und bei Support entsprechend D3D11.3 initialisieren, dass muss jemand manuell machen.

Übrigens habe ich nirgendwo Zweifel an der Sinnhaftigkeit genannt, nur das offenkundige Problem dargestellt, dass die Versionsupdates für DX11 von Windowsversionen abhängig sind und damit der Anreiz für die Unterstützung gering ausfällt.
 
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

@Locuza
Du schreibst auch so Sachen wie:"Kein Spiel unterstützt DX11.3".
Was soll man davon halten? Jedes Spiel das zu DX12 portiert wurde unterstützt DX11.3+. Das ist auch keine Frage der Hardware, wie du das hier gerne darstellst.
[...]
Damit hat das Ganze angefangen und mein Einwand, dass dies nicht stimmt und alle Ausführungen die damit im Zusammenhang standen.

Ich sehe aber gerade, dass du noch den Beitrag noch um einen Zusatz editierst hast:
Was die Primitveshader angeht hat AMD auch klargestellt das diese mit "alten Standards" koexistieren und man bei Anwendung und beabsichtigter Steigerung, für die Speicherung von Vertexparametern den L2 Cache benutzen muss.
Was AMD im White-Paper ausführt ist, dass Primitive-Shader das alte Mapping von der logischen API-Pipeline (Als Beispiel wurde DX genommen) durch effizientere Shader-Typen ersetzen können.
Rys Kommentare sagen aus, dass AMD das auch ohne direkte Entwicklerkontrolle im Treiber für Geometry-Processing umsetzen kann, ob sie das effizient umsetzen können oder alle Möglichkeiten ausnutzen, dass ist ein andere Frage.

AMD führt das Koexistieren auf ihren alten und neuen Geometrie-Pfad aus und sagt ansonsten nur lapidar, dass Vertex Parameter nun auch im L2$ von den Geometrie-Engines gespeichert werden können.
Seite 7 schrieb:
Primitive shaders will coexist with the standard hardware geometry pipeline rather than replacing it.
In keeping with “Vega’s” new cache hierarchy, the geometry engine can now use the on-chip L2 cache to store vertex parameter data
http://radeon.com/_downloads/vega-whitepaper-11.6.17.pdf

-----

Hier gehe ich auf deinen Beitrag oben ein
Vor ein paar Seiten hast du noch behauptet Primitivshader seinen ein Selbstläufer, jetzt behauptest du DX12 müsse in besonderer Weise portiert werden. Vielleicht versuchst du mal einen Zusammenhang zwischen deinen eigenen Aussagen zu finden.
"Ich behaupte" das auf Basis von Rys öffentlichen Aussagen.
Wo du genau bei mir gelesen hast, dass DX12 in besonderer Weise portiert werden muss und wo ich einen Zusammenhang zu Primitive Shader genannt habe, erschließt sich mir nicht.
Diese ganze Märchenerzählerei was LL APIs alles können sollen nervt. Alles was bereits in der Entwicklungspipline war, würde sicher nur hingekrappt werden (wie dies auch schon der Fall war, zumal LL dann auch noch auf NVidia optimiert wurde), weil zum Schluss einfach die Zeit fehlt das Modell noch sinnvoll auf zwischenzeitliche Neuerungen umzustellen. Ob dir das gefällt oder nicht, ist mir egal.
Das ganze Zitat und der Absatz davor, führt eine Menge aus, die nichts mit mir oder meinen Aussagen zu tun haben und am Ende sprichst du mich aber an.
Wie, wo, was?
Die Märchen die über nVidias Rasterization verbreitet werden, sind doch auch so ein Bsp.. NVidia geht von bis zu 5-10% Leistungsgewinnen aus, die Community behauptet es wären gleich mal 30-50%.
Die einzigen Zahlen die Nvidia öffentlich genannt hat, sind soweit ich weiß, der effektive Bandbreiten Gewinn:
https://www.techpowerup.com/img/17-03-01/2dfc232568a9.jpg

Wo Nvidia nicht aufschlüsselt wie sie auf die Zahlen gekommen sind.
 
Zuletzt bearbeitet:
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

Interessante Diskussion hier. :daumen: Ich kann den Unmut der Leute verstehen. Einige sprechen ja sogar schon von juristischen Schritten. AMD sollte nun endlich eine klare Stellungnahme zu den inaktiven Features geben. Andernfalls bleiben nur Spekulationen.

Dass das Feature hardwareseitig funktioniert, wurde ja schon erläuertet. Man sieht es auch in einem bereits verlinkten Video hier im Thread und das Whitepaper deutet auch darauf hin. Man könnte sich noch vorstellen, dass es Produktionsprobleme bei den genannten Einheiten gab. Damit wäre eine signifkante Menge an Chips fehlerhaft. Das wiederum könnte mit einem Refresh gelöst werden.
Meiner bescheidenen Meinung nach liegt es an den Treibern. AMD wird es nicht geschafft haben, einen universellen Ansatz zu finden, der die Primitive Shader implizit und effizient nutzen kann. Zusammen mit der Aussage, dass es keinen Wundertreiber geben wird, der Leistung aus dem Nichts generiert, wird es darauf hinauslaufen, dass Optimierungen adaptiv pro Spieletitel erfolgen werden. Oder aber die Spieleentwickler machen es selbst explizit über irgendeine API. Soweit ich das verstanden habe, sind beide Wege möglich!

Insgeheim frage ich mich schon, was daran nun so extrem komplex sein soll, eine universelle Überdeckungsanalyse zu implementieren. Vielleicht denke ich auch viel zu algorithmisch und es ist was anderes wie z.B. Kompatibilitäten, Blackbox-Problem, personeller Ressourcenmangel.
 
Zuletzt bearbeitet von einem Moderator:
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

NVidia implementiert in ihre Treiber seit DX11 Multithreaded (genau deshalb halten sie auch zwanghaft an diesem Modell fest), AMD tut dies nicht. Daher kann AMD von DX12 mehr profitieren als NVidia. Mantle, Vulkan und DX12 sind eine gute Methode schwache Singlethreadleistung zu kaschieren und den Workload gleichmäßiger zu verteilen.
Also du willst sagen, AMDs "Stärke" bei DX12 ist eigentlich nur die massive Schwäche bei DX11? Ich denke, das kann man unterschreiben :daumen:

Also kurz: NVIDIA ist gut bei DX11 UND DX12, AMD ist schlecht bei DX11 und gut bei DX12.

Da fällt die Kaufentscheidung leicht.

Warum NVIDIA aber zwanghaft an DX11 festhält, müsstest du mal erläutern, das sehe ich nicht. Schließlich ist deren DX12-Treiber verdammt gut.
 
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

Du vermischt die öffentlichen Aussagen aber einfach mit Informationen aus dem Whitepaper, weil Rys Antworten sich auf eine Vulkanextension bezogen, was auch die grundlegende Frage war!


19.2. Programmable Primitive Shading

Da kommst du einfach mit saloppen Sprüchen. Wie soll man unter directX Primitivshader über Vulkan extensionen occulsiv exponieren (textuieren)?

Warum unter directX die Treibereffizienz leiden kann, hab ich dir schon aufgeführt, nur tust du so, als wäre das nicht sinnhaft, les einfach auf beyond3d.

Und wenn ich portieren/portabel meine, meine ich genau das!

[x] down...
Ich zitiere mich mal einfach selber:
Ein Typ hat nachgefragt, wann man Primitive-Shader über eine Vulkan-Erweiterung verwenden kann, darauf hat Rys geantwortet, dass man keine Pläne für eine Entwicklerkontrolle hat.
Ein Anderer hat darauf gefragt (ich hätte mir die Arbeit wohl nicht sparen sollen, damit klar ist, dass es unterschiedliche Fragen von unterschiedlichen Personen gab), ob es dann also keine Möglichkeit gäbe für Spielentwickler Primitive-Shader zu verwenden?
Rys hat darauf klar geantwortet, dass der Treiber das erledigt und bei den späteren Fragen noch einmal deutlich gemacht, dass der Entwickler nichts machen muss, nichts umstrukturieren oder speziell anpassen.
http://extreme.pcgameshardware.de/n...hader-und-mehr-haeuft-sich-8.html#post9167696

Und hier auch nochmal der ganze Twitter-Verlauf:
Nutzer 1: @ryszu Any idea when Vega's primitive shaders are likely to be exposed via a Vulkan extension? A ball park estimate would be good to have :)"
Rys Sommefeldt: "No plans to expose them programatically today, but we do review the state of play periodically so that might change. No plans rn though"

Nutzer 2: "So there's no way for a game developer to use them right now? Or am I mistaken?"
Rys Sommefeldt: "The driver takes care of it for you. Just render as normal."

Nutzer 3: "What about the NGG Fast Path culling? To my understanding it needs primitive shaders, do the devs have control to use it instead of native?"
Rys Sommefeldt: "No control, it's all transparent"

Nutzer 1: "So, basically, devs can think of it as 'vertex shaders + rasterization is faster' and get on with their lives, at least right now, yeah? :D"
Rys Sommefeldt: "Yep. From your perspective we made a more efficient GPU and you don't do anything different. Might change later but no promises."

Nutzer 4: "Is it still culling primitives this way, or you have to redesign the pipeline to fully utilize this feature?"
Rys Sommefeldt: "You don't have to redesign anything. The idea is that you just draw as normal"

Nutzer 5 "Wait so primitive shaders just work automatically from a developer's point of view? It's done in driver?"
Rys Sommefeldt: "Yup!"
https://mobile.twitter.com/ryszu/status/896304786307469313
Ich meine wie viel klarer muss sich Rys eigentlich zum Thema ausdrücken?

Du vermischt Sachverhalte, die in keinem Zusammenhang stehen und wirfst mir dank wirrer Interpretationen irgendetwas vor.

Bei jedem Beitrag von dir kommt mindestens einmal ein what the **** zu Stande.
Ich habe keine Ahnung wie du von meinen Aussagen darauf kommst, dass man Primitive-Shader in DX durch Vulkan-Erweiterungen verwenden soll, dass kommt vielleicht irgendwie durch den Twitter-Feed, die Fragestellung mit Vulkan und durch irgendeine chaotische Ableitung bezüglich vorherigen Aussagen, die sich um DX drehten zu Stande.
Ich kann dahinter keine Logik erkennen.

Jetzt wirfst du auch aus dem Nichts das Thema Treibereffizienz ins Boot und meinst, ich würde so tun, als wäre das nicht sinnvoll.
Wieder what the ****? Erneut ein Sachverhalt ohne Kontext und eine Anschuldigung ohne Grundlage.
Auch hier spinnst du irgendetwas zusammen, wo mir völlig das Verständnis fehlt, wie du darauf kommst.

Und bezüglich einer DX12-Portierung, egal wie der Entwickler DX12 unter seinem Render-Backend umsetzt, automatischer DX11.3 Support springt dadurch nicht heraus bzw. ist völlig unabhängig von DX12.
Und wie ich auch selber gesagt habe, wenn man Features verwendet die eine Schnittmenge unter beiden APIs darstellen, dann ist es gewiss keine große Herausforderung das für die eine oder andere API umzusetzen, du sprachst aber ursprünglich davon das jeder Entwickler, welcher seine App zu DX12 portiert hat, auch DX11.3 unterstützt, dass ist einfach nicht gegeben.
 
Zuletzt bearbeitet:
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

Und bezüglich einer DX12-Portierung, egal wie der Entwickler DX12 unter seinem Render-Backend umsetzt, automatischer DX11.3 Support springt dadurch nicht heraus bzw. ist völlig unabhängig von DX12.
Und wie ich auch selber gesagt habe, wenn man Features verwendet die eine Schnittmenge unter beiden APIs darstellen, dann ist es gewiss keine große Herausforderung das für die eine oder andere API umzusetzen, du sprachst aber ursprünglich davon das jeder Entwickler, welcher seine App zu DX12 portiert hat, auch DX11.3 unterstützt, dass ist einfach nicht gegeben.

"As most of you know, DirectX12 is a low level API which aims to lower CPU Overhead and increase GPU performance in situations which are CPU Bound. However the DirectX 11.3 API will comply with “feature levels” meaning that you can code for D3D12 and have compatibility carry over to 11.3. This was seen in DirectX 11 as well, where you code for D3D11 and have compatibility with 10 and 9 adapting automatically by code alone. Lets take look at the features one by one"

Microsoft DirectX 11.3 Revealed - The Feature Set of DX12 Minus the CPU Overhead Reduction
 
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

Let's be good, it's just about word games and that brings the least.

Na ja, kann doch sein, dass die Leute bei wccftech falsch liegen und Locuza Spiele/Engine-Entwickler ist. Ich würde eher den Aussagen eines Entwicklers aus diesem Bereich trauen. Ich bin zwar auch Entwickler im 3D Bereich, aber meine Welt dreht sich um primitive 3D Darstellungen wie Punktwolken und Meshes. Ich mache sogar das Raytracing auf der CPU. Ja ich weiß, Asche auf mein Haupt... :D
 
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

Ehm, der Satz den gaussmath zitiert hat, bestätitgt doch Locuza's Aussage 1:1.

Wenn man das englisch korrekt versteht freilich. Ich erlaube mir mal zu übersetzen:

"Wie die meisten wissen, ist DX12 eine Low Level API, die daraub abzielt die CPU Last zu senken und die GPU Performance in Situationen zu steigern, in denen die CPU limitiert. Dagegen bietet die DX11.3 API 'Funktionslevel', das bedeutet dass man für D3D12 entwickeln kann und trotzdem kompatibel mit 11.3 bleiben kann. Das gab es auch schon bei DX11, wo man für D3D11 entwickeln konnte und dennoch Kompatibilität mit DX 10 oder 9 alleine über automatisch adaptiven Code erzielen konnte."

In diesem Satz steht nichts darüber, dass man automatisch DX11.3 FL nutzt, wenn man DX12 Code hat. Theoretisch kann man die DX12 API nutzen und dennoch nur Funktionalität einsetzen, die es auch schon in DX9 gab.

Die genutzte API sagt *nichts* darüber aus, welche Features man nutzt! Und das ist, was Locuza die ganze Zeit versucht zu erklären.
 
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

@Greston: Das sehe ich ein wenig anders. Deshalb hoffe ich, dass Locuza sich nochmal dazu äußert.
 
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

Was siehst Du anders?
 
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

Na, wenn Du genau sagst, was Du meinst, kann ich das ggf. aufklären. Wo siehst Du einen Widerspruch? Zwischen welchen Aussagen?

Nochmal: Zwei völlig verschiedene APIs können die gleiche Funktion anbieten. Und das auch auf völlig unterschiedliche Weise.

D3D 9-11 bieten alle die Funktionen von D3D 9 an - natürlich die 10 und 11 jeweils noch mehr. Aber ein Programm kann DX11 nutzen und sich dennoch auf den Funktionsumfang beschränken, den es schon unter DX 9 gab.

Bei DX 12 hat sich die API fundamental geändert, in der Art wie man sie nutzt. Aber der Funktionsumfang von DX9 ist weiterhin vorhanden. Und man kann sich weiterhin auf ihn beschränken, wenn man das will.
 
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

Ich schlage kein bisschen ein, warum sollte ich. Ich habe absolut nichts gegen AMD, ganz im Gegenteil. Abgesehen von der Performance hat AMD meines Erachtens massiv auf- und überholt (was den Treiber angeht) und NVidia muss aufpassen, nicht den Anschluss zu verlieren.

Wenn aber einfach falsche Dinge geschrieben werden, dann stelle ich das richtig. Wie bei der Behauptung, NVidia wäre teurer geworden (stimmt nicht) oder eben die Sache mit den FeatureLevels (das überhaupt nichts mit AMD oder NV zu tun hat, so nebenher).
 
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

"As most of you know, DirectX12 is a low level API which aims to lower CPU Overhead and increase GPU performance in situations which are CPU Bound. However the DirectX 11.3 API will comply with “feature levels” meaning that you can code for D3D12 and have compatibility carry over to 11.3. This was seen in DirectX 11 as well, where you code for D3D11 and have compatibility with 10 and 9 adapting automatically by code alone. Lets take look at the features one by one"

Microsoft DirectX 11.3 Revealed - The Feature Set of DX12 Minus the CPU Overhead Reduction
Die Annahme ist falsch, da sie völlig ignoriert das DX11.x und DX12 im Kern grundverschiedenen sind.
DX11 ist eine implizite API, wo man als Entwickler nur einen Render-Context erstellt und Aufrufe tätigt, wo aber im Hintergrund der Treiber sich darum letztendlich kümmert einen entsprechenden Command-Buffer zu befüllen und abzuschicken und ein Großteil der Verwaltung von den Ressourcen wird ebenso vom Treiber erledigt.
DX12 setzt dagegen auf ein gänzlich anderes Ressourcen-Modell, welches der Entwickler explizit selber verwalten muss und die Command-Buffer erstellt man nun durch Command-Lists selber, welche von jedem Thread aus befüllt werden können, weswegen die API grundsätzlich Multithreading ermöglicht, im Gegensatz zu DX11.

Ein weiterer Kernaspekt ist das Feature MultiEngine, womit man nicht nur einen Queue-Typ für alles besitzt, sondern die Aufgaben genauer nach Art und Weise aufteilen kann.
Da gibt es wie bisher eine GFX-Queue (bzw. Universal Queue), eine Compute-Queue (Im Mainstream hat sich Async Compute durchgesetzt) und noch eine Copy-Queue.
Die genaue Aufteilung von den Anweisungen hilft es viel besser oder überhaupt Anweisungen spezifisch auf die Hardware zu mappen und steuern zu lassen.

ExecuteIndirect ist auch ein Feature welches in DX12 dazu kam und womit ein Buffer erstellt werden kann, aus dem die GPU liest und sich selbständig mit Draw/Dispatch-Befehlen versorgt, anstatt für alles auf die CPU angewiesen zu sein.

Selbst wenn man unter DX12 das gleiche FL11.0 wie unter DX11.x verwendet, ist das neue explizite Resource-Model und die neueren Features sofort ein No-Go für eine automatische Kompatibilität, wie soll denn eine völlig andere Arbeitslogik automatisch umgesetzt werden? Einen out-of-the-box "export as DX11.x" button gibt es nicht.

Mit den höheren FLs wie FL12_0 kommt bei DX12 die Voraussetzung das Resource-Binding-Tier 2 unterstützt werden muss, neben der Tatsache das es allgemein kein direktes Äquivalent unter der DX11-API gibt, erlaubt das Tier 2 die Verwaltung von einer Anzahl an Ressourcen die DX11 gar nicht unterstützt, auch eine Sache die man nicht automatisch runterbrechen kann.

Na ja, kann doch sein, dass die Leute bei wccftech falsch liegen und Locuza Spiele/Engine-Entwickler ist. Ich würde eher den Aussagen eines Entwicklers aus diesem Bereich trauen. Ich bin zwar auch Entwickler im 3D Bereich, aber meine Welt dreht sich um primitive 3D Darstellungen wie Punktwolken und Meshes. Ich mache sogar das Raytracing auf der CPU. Ja ich weiß, Asche auf mein Haupt... :D
Oder WCCFTech liegt falsch und Locuza ist kein Spiele/Engine-Entwickler.
 
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

Man kann aber auf verfügbarer Hardware jedes Spiel zu DX11.3 oder DX12 portieren. Und das ist nichtmal so schwierig. [...]
Falls entsprechende DX11.3/DX12 Treiber für die Hardware existieren, man setzt aber keine API durch die andere automatisch um, selbst wenn man das gleiche Featurelevel verwendet.
Und egal ob man sich von DX11 zu DX12 bewegt oder von 12 zu 11, je nach Ausgangslage kann eine Umsetzung immer eine Menge Arbeit bedeuten.

Und falls du auf dem Low Level Multithreadingpart umherreiten willst, das Multi-Threaded Command Buffer Recording ist auch unter DX11 möglich, nVidia macht es ja vor. Wen man ehrlich ist, ist der Overhead allein durch directX (11) entstanden. DrawCalls abzuarbeiten war nur auf einem Kern möglich.
Auch wenn Nvidia intern mehrere Treiber-Threads umsetzt, um die Aufgaben abzuarbeiten, sind sie darauf beschränkt was die DX11 API ihnen als Input liefern kann, entsprechend gut/schlecht funktioniert die Optimierung eines DX11-Treibers.

Der Overhead kommt von dem impliziten Modell, mit den ganzen Abstraktionen die dann später mühselig aufgelöst werden müssen und dem sub-optimalen State-Model, dass sah unter älteren APIs nur noch schlechter aus und unter Vanilla OpenGL läuft es praktisch genau so ab.

Genauso komplex ist übrigens das Geometrie- und Loadbalancingmodell der NGGP+Shader(Geometrie- und Computeengines) mittels IWD. Vermutlich muss für jede Anwendung ein Treibereintrag gesetzt werden und bedarf es Anpassungen über den Treiber. Bei der Supportlist...
Ich bin eher dafür, dass man ähnlich wie beim HBCC noch an der Automatik arbeiten muss, alles andere hat nur einen begrenzten Wert und ich denke nicht das AMD sich die Mühe gemacht hätte einen neuen Geometrie-Pfad zu entwickeln, nur um dann explizit bei jeder Anwendung Hand anlegen zu müssen.
 
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

Für einen Teil ist AMD immer nur gut genug, damit man selbst die Hardware zu einem günstigen Preis erstehen kann. Wie man aber feststellt ist dies vorbei und selbst wenn sie bessere Hardware in der Hinterhand haben (Tahiti, Hawaii, Grenada) wird die Konkurrenz gekauft, auch wenn man sie günstiger anbietet.

Die "bessere" (Besser ist relativ, und hängt auch vom Nutzen ab) Hardware nützt einem aber nichts, wenn sie in den Programmen und Spielen die man selber nutzt einfach keine Leistung erbringen. Ob das durch Treiber oder durch die hardware kommt sei mal egal.


Und Locuza hat im übrigen recht.

Und auf DX12 portiert man nicht einfach mal eben so.
 
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

Teile des beschriebenen FL bleiben weiterhin auf DX11-Niveau, sie müssen nicht zwingend LL portiert werden gerade das macht die Adapationsrate aus und sie fallen damit leichter aus, lediglich hardwarenahe Teile werden/wurden/können nach DX12 portiert werden. Daher auch der Hinweis auf Highlevelanteile, was die Programmierung komplexer macht. Letzlich kommt es an, welches FL man unterstützen will (die es unter DX11 und DX12 gibt. Es gibt dabei optionale und bindende Feature. Z.B. Spiele und Anwendungen die in der Vergangenheit portiert wurden, haben zumeist den DX11 Anteil beibehalten und genau darum ging es auch, sie profitieren dann ohne Treiberanpassungen weniger von den LL Feature der Hardware.

Aber gut, es gibt genug die weder für Mantle, Vulkan noch DX12 Verständnis aufbringen und meinen es sei eher ein Rückschritt der den Markt spaltet und die (Mehr-) Arbeit die sich damit verbindet lohne sich nicht.

O.k., ich habe schon verstanden...

Jung, du tust so als wäre es weiterhin super einfach etwas auf DX12 zu portieren. Das ist es aber nicht, DX 11.3 ändert an der Tatsache auch überhaupt nichts.

Wir reden hier übrigens auch nicht von etwas mehr Arbeit für Vulcan, Mantle, und DX12. Das ist jede menge mehr Arbeit, da reden wir von ein paar hundert bis Tausend Zeilen, wo man vorher nur fünf brauchte. Und glaub es oder nicht: Aber das lohnt sich bei den meisten Projekten und Spielen vorne und hinten nicht. In den meisten fällen gibt es keinen Performance Gain.
 
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

@Danuj: Warum ziehst Du Dich denn gleich ganz aus der PCGH zurück? Nur wegen dieser Diskussion? Ich hoffe nicht...
 
AW: AMD Radeon RX Vega: Unmut über fehlende Primitive Shader und mehr häuft sich

Jung, du tust so als wäre es weiterhin super einfach etwas auf DX12 zu portieren. Das ist es aber nicht, DX 11.3 ändert an der Tatsache auch überhaupt nichts.

Wir reden hier übrigens auch nicht von etwas mehr Arbeit für Vulcan, Mantle, und DX12. Das ist jede menge mehr Arbeit, da reden wir von ein paar hundert bis Tausend Zeilen, wo man vorher nur fünf brauchte. Und glaub es oder nicht: Aber das lohnt sich bei den meisten Projekten und Spielen vorne und hinten nicht. In den meisten fällen gibt es keinen Performance Gain.

Also zumächst mal: dein "Jung, ..." ist ziemlich respektlos. Das kannst du dir getrost sparen. In solchen Fällen wünscht man sich einen Dislike Button.

Zum Thema (automatische) Portierung:

"A shorter term approach would be to address known bottlenecks in a Direct3D 11 title; these can be addressed by using the 11on12 or interop techniques enabling the two APIs to work together. This approach minimizes the changes necessary to an existing Direct3D 11 graphics engine, however the performance gains will be limited to the relief of the bottleneck that the Direct3D 12 code addresses."

What is Direct3D 12? (Windows)

Es wird immer enger für Locuza:

"[FONT=&quot]Direct3D 12 does not replace Direct3D 11. The new rendering features of Direct3D 12 are available in Direct3D 11.3. Direct3D 11.3 is a low level graphics engine API, and Direct3D 12 goes even deeper.[/FONT]"

Selber Link wie oben. Meine weiteren Recherchen ergeben so allmählich, dass es Adapter-Techniken gibt, so dass man Kompatibilität zwischen 12 und 11.3 herstellen kann. Ich bleibe am Ball und reiche weitere Links nach...
 
Zuletzt bearbeitet von einem Moderator:
Zurück