Locuza
Lieutenant
- Registriert
- Dez. 2010
- Beiträge
- 570
Spiele-Entwickler können es beurteilen und IHV Mitarbeiter, auch wenn einer hier jemanden einen Bias vorwerfen könnte.Faust2011 schrieb:Wer kann denn beurteilen, ob die überhaupt in den Game-Engines der Zukunft zu finden sein werden? Wer kann beurteilen, wie stark diese durch entsprechende Hardware-Einheiten beschleunigt werden können und wie stark der Nachteil sein wird, wenn es durch andere Hardware-Einheiten emuliert werden muss?
Die KeyFeatures für die Performance unter DX12 sind doch wahrscheinlich die schlanke API mit der Reduzierung des Draw-Call-Overheads und auf GPU-Seite die priorisierte und asynchrone Ausführung durch AsynShader (ACE-Units bei AMD GCN-Chips bzw. ab Haswell 2 bei Nvidia).
Oder liege ich da mit meiner Einschätzung völlig daneben?
Nvidia hat eine Folie zu VXGI präsentiert, wobei das wie immer nicht ganz genau der Wahrheit entsprechen muss:
http://images.anandtech.com/doci/8526/VoxelPerf.jpg
ROVs und CR sind auf jeden Fall tolle Features, ähnlich wie (theoretisch) Tessellation bei der DX11 Einführung.
Tonga GCN Gen 3 kam nur kurze Zeit vor Maxwell und unterstützt auch maximal 12_0 und Carrizo der erst erscheinen wird ebenso.tic-tac-toe-x-o schrieb:Wow AMDs 1 Jahr ältere Karten (290 und 290x gegenüber 900 series) können "nur" 12_0?! Boah was ne schlechte Leistung. /sarcasm
Schau mal auf alles andere was Nvidia zu bieten hat. 11_0. Nichts anderes. Während ältere AMDs auf 11_1 und 12_0 kommen.
Wenn Fiji kein 12_1 unterstützt, dann könnt ihr darüber lästern. Ansonsten seh ich nur AMD vorne.
Fiji ist der letzte Anker, wo ich von nichts anderem ausgehen und am Ende schade ist. (0 bis maximal eine Premium GPU für FL12_1).
Schade ist natürlich auch, dass auf der anderen Seite AMD der einzige ist der FL12_0 im größerem Umfang beisteuert.
GCN Gen 2 (GPUs+ APUs + Konsolen)
Erst ab Skylake wird auch Intel 12_0 erreichen.
GCN Gen 1, Haswell/Broadwell und hauptsächlich Kepler wirken auf der anderen Seite bremsend für ein modernes Feature-Set.
Ich schlage eine leicht andere Weltanschauung vor.noxon schrieb:Das Gleiche gilt für grundlegende Features von DX12, dass es jetzt nicht mehr nur noch eine 3D-Engine gibt, sondern zusätzlich auch eine Compute- und Copy-Engine. Früher mussten selbst directcompute Aufgaben in der sehr overheadlastigen 3DEngine durchgeführt werden, was mit DX12 jetzt anders ist. Dort gibt es für Compute-Aufgaben jetzt eine etwas leichtgewichtigere Engine, die weniger Overhead erzeugt. Zusätzlich gibt es eine noch weiter abgespecktere Engine als diese, wenn man reine Speicherkopieraufgaben vornehmen möchte. Das alles ist grundlegender Bestandteil von DX12 und in jedem Feature Level enthalten. Jedes Spiel wird davon profitieren.
Früher wurden Compute-Berechnungen nie von der "3D-Engine" / vom Graphics-State ausgeführt, sondern immer vom Compute-State.
Das man ohne Multi-Engine sowohl 3D, als auch Compute-Aufgaben in eine Arbeitsschlange einspeisen muss und somit zu Stalls kam beim State-Wechsel oder Abhängigkeiten war ein Problem.
Es ist ein allgemeines Feature von DX12, aber auch explizit. Von automatisch läuft nichts.
Meinem Verständnis nach ist das ebenso ein allgemeines DX12 "Feature".Dann gibt es natürlich auch noch wichtige Features, die erst ab 12_0 verfügbar sind, wie zum Beispiel die Resource Barrier API mit der man unter anderem parallel auf UAVs zugreifen kann anstatt nur sequenziell. Dies elimeniert unnötige Wartezeiten und steigert somit die Performance, allerdings auch nicht in dem Maße, wie das viele der Features aus FL 11_x tun.
Unter DX11 war es noch implizit mit idle-phasen gelöst, unter DX12 muss man es explizit selber lösen und spart sich waiting-times unter bestimmten Bedingungen.
Für mich sind die Features super nice to have.Und natürlich kommen dann noch die Features aus 12_1. Die sind zwar nice zu have, aber ich glaube nicht, dass viele Entwickler überhaupt Gebrauch davon machen werden. Zum Einen ist die Nutzergruppe die diese Features nutzen können noch sehr gering und zum anderen sind dies keine Features, die extrem große Performancevorteile bieten.
Endlich eine effiziente OIT-Lösung programmieren zu können, ist ein gewaltiger Performance-Vorteil.
CR trägt auch stark dazu bei, dass man viele technische Umsetzungen effizienter lösen kann.
Das einzig negative an der Sache ist die fehlende Userbase und die damit sehr wahrscheinlich schleppende Verbreitung.