APU13 Techday: AMD gibt erste Details zur Mantle-API bekannt - Zukünftig schnellste API?
Auf AMDs aktuell stattfindender Entwicklerkonferenz APU13 gibt es nun erste stichhaltige Informationen zur hauseigenen Mantle-API, welche noch dieses Jahr in Battlefield 4 nachgepatcht werden soll. Demnach soll die Schnittstelle bis zu 100.000 Draw-Calls pro Frame ermöglichen, wohingegen DirectX auf ein Zehntel kommt. Aber auch eine Reduzierung des Overheads soll ermöglicht werden.
AMD scheint mit Mantle den virtuellen Hammer auspacken zu wollen. Auf dem APU13 Techday sprechen die beiden Mantle-Architekten Guennadi Riguer und Brian Bennet erstmals etwas konkreter über die kommende API. Nachdem ein Project-Cars-Entwickler ankündigte, dass mit der Schnittstelle eine 70- bis 80-prozentige Draw-Call-Performance der Next-Gen-Konsolen erreicht werden soll, gibt AMD nun einen Wert von 100.000 Befehlen zur Berechnung von Objekten an. Mit Direct3D hingegen sind maximal 10.000 Draw-Calls möglich, bis der Prozessor limitiert, da jeder Draw-Call die Weiterarbeit der CPU unterbricht. Laut AMD seien in aktuellen Spielen zwischen 3.000 und 5.000 Draw-Calls üblich.
Außerdem soll der Grafiktreiber-Overhead, also die sekundären Zusatzdaten bei der Berechnung eines Bildes, deutlich abnehmen. Dies wird durch die gemeinsame Speicherkontrolle von CPU und GPU erreicht, was in einer Reduzierung des Speicherbedarfs resultiert. Auch soll das Multithreading optimiert werden, indem Mantle selbstständig Command-Buffers erzeugt. Zugleich sollen Konfigurationen bestehend aus mehreren Grafikchips mit der API besser skalieren, womit auch Verbünde zwischen dedizierten und integrierten Grafikeinheiten der APUs gemeint sind.
Weiterhin wird die Ressourcen-Verwaltung gegenüber Microsofts DirectX deutlich entschlackt: Anstatt eine Unterteilung unter anderem in Index-, Vertex- sowie Constant-Buffers oder Texturen, Textur-Arrays und UAVs vorzunehmen, ist bei Mantle lediglich die Rede von "Memory" und "Images". Des Weiteren sollen die Shader-Einheiten beim Start eines Spiels nicht jedes Mal kompiliert werden müssen, was zum Beispiel in niedrigeren Ladezeiten resultiert. Im Laufe der Konferenz wird es noch einen Vortrag von Johan Andersson, Technical Director bei DICE, geben, bei dem man konkrete Leistungswerte bei Battlefield 4 mit Mantle erwartet.
Quelle: Heise


Ich werde auch 'Metro LL' und 'Alan Wake - American Nightmare' sowie einige andere Titel aus meiner Spieleliste austesten.
Sonst noch Vorschläge? Habe nicht ganz 100 Spiele zum testen, sind da welche die extrem schlecht skalieren sollten?
Da es nur um die Skalierung geht, kannst du ja auch ziemlich alte Spiele nehmen.
Mal gucken, was sich ergibt.
Könnte ich machen, wird aber dauern. Derzeit bin ich quasi nur im Forum, wenn sich mal eine Lücke in der Arbeit ergibt und bis Dezember wird das auch nur wenig nachlassen. (wenns solange Zeit hat - gerne)
Aber so schwer ist das eigentlich nicht. Für eine einfache optische Analyse reicht es schon, wenn du Frametimes nach Größe sortieren lässt und dann das Ergebnis in ein XY-Diagram mit Linie einträgst. Interessant ist das Ende mit den 5-10% lahmsten Frametimes. Die geben ein gutes Maß für das Geruckel - entweder Makroruckeln, wenn sie auch hintereinander aufgetreten sind, oder Mikroruckeln, wenn immer ein schneller Frame dazwischen war. Etwas eleganter ist die Funktion "Quantil". Die gibt für einen Datensatz (alle deine Frametimes) z.B. aus, wo das oberste Prozent (0,99) beginnt. So hast du, statt den Frametimes selbst, deren Anzahl schwanken wird, feste Werte für z.B. 95,0 bis 100,0%, die man dann auch schön in ein FCAT-like Diagram eintragen kann.
(Ich tippe aber auf wenige. Offene Schauplätze sollten weniger Lichtquellen und somit einfache Schattenberechnung haben, BF3 ersparte einem iirc Bildschirmfüllende Effekte und die überdurchschnittliche hohe CPU-Last könnte ein Hinweis darauf sein, dass die CPU die Geometrie ungewöhnlich weit vorbereitet)
Ich werde auch 'Metro LL' und 'Alan Wake - American Nightmare' sowie einige andere Titel aus meiner Spieleliste austesten.
Sonst noch Vorschläge? Habe nicht ganz 100 Spiele zum testen, sind da welche die extrem schlecht skalieren sollten?
Dann werde ich das aber mal Beiseite legen und einige Fraps Benchmarks machen.
Deshalb wundern mich eigentlich auch diese aussagen das es nur wenige % bringen soll.
Deine Prozent werte kann ich aber für Metro LL @ Max Tesselation bestätigen, dann geht nichts mehr
(Ich tippe aber auf wenige. Offene Schauplätze sollten weniger Lichtquellen und somit einfache Schattenberechnung haben, BF3 ersparte einem iirc Bildschirmfüllende Effekte und die überdurchschnittliche hohe CPU-Last könnte ein Hinweis darauf sein, dass die CPU die Geometrie ungewöhnlich weit vorbereitet)
Ich muss ehrlich sagen, dass ich keinen nenneswerten Vorteil bei Messungen durch FCAT vs Fraps sehe. Die Bearbeitung des nächsten Bildes beginnt ja sowieso, wenn das letzte fertig ist. Ob ich jetzt dessen Ausgabe oder den nächsten Rendering-Beginn registriere, spielt nur eine Rolle, wenn Frame-Pacing-Latenzen bewerten will. Für alles andere kann man imho auch Fraps nehmen - der einzige Vorteil von FCAT ist, dass viele Webseiten sich an Nvidias Vorgaben orientieren und endlich Perzentil-Analysen nutzen, anstatt unlesbare Frametimekurven zu veröffentlichen.
Was auch ziemlich deutlich aufzeigt wohin die Reise mit Mantle gehen dürfte, wenn alleine M$ aus DX nochmals 20% mehr Performance (gemessen am BF4 test von PCGH) raus holen konnte.
es könnte entscheiden, ob spielbar oder nicht.
im high end bereich?!
wen juckt es, ob BF4 mit 90 oder mit 110 fps läuft?!?!
je performanter der PC, desto unbedeutender wird doch der draw-call bottleneck?!
und btw: soviel zur glaubwürdigkeit solcher folien:
http://s1.directupload.net/images/131113/leogfhrh.jpg
Wobei ich auch sehe, das die Draw-Call-Limitierung bei High-End-Hardware ärgerlicher ist, weil viel Leistung einfach mit Warten verloren geht. Aber hier entscheidet es nicht über Spielbarkeit, hier würde man sich "nur" wünschen, das die Wartezeit kürzer ausfällt, amn die CPU effektiver nutzt und so detaillierte Grafiken bekommen könnte.
Was die Glaubwürdigkeit angeht: die haben einfach die Kantenlänge mal 10 gesetzt, nicht den Flächeninhalt
aktuelle spiele rufen 3-5000 calls pro frame ab. dx11 kann 10000. was jetzt 10 mal mehr calls bewirken sollen? keine ahnung. wenn das jemand mal erklären könnte?!
erst wenn spiele derart viele calls überhaupt produzieren, wirds doch interessant.....oder sehe ich den kern der sache nicht?!
fakt ist: im high end bereich sind wir NICHT cpu-limitiert (im sinne von call-lieferungen an die GPU) sondern GPU (im sinne von abarbeitung der calls) limitiert.
ich sehe die chancen von mantle eher im reduzierten overhead und somit effizienterer programmierung und somit schnellerer abarbeitung von befehlen in der GPU. und was DAS wirklich bringt, muss sich zeigen.....
Das aktuelle Spiele "nur" 3 bis 5 Tausend pro frame raushauen, liegt daran, das eben wegen der Begrenzung auf 10.000 viele Draw-Call zusammengefaßt und gruppiert werden.
Was viele aber nicht sehen: Gruppieren könnte man auch unter Mantle, sollten irgendwann mal die 100k zu wenig sein
Man hört sogar immer weniger davon.
Die API erlaubt eben keinen direkten Zugriff , sondern abstrahiert soweit, das es auf jeder GPU läuft, damit gleiben viele Funktionen ungenutzt.