NEWS

AMD beschreibt abermals die eigenen DirectX-12-Fähigkeiten

Portrait des Authors


AMD beschreibt abermals die eigenen DirectX-12-Fähigkeiten
4

Werbung

Abermals rückt AMD den Umgang mit DirectX 12 in den Vordergrund und beschreibt darin auch die Vorteile bzw. den Leistungsgewinn. Mit den Asynchronous Shaders machte AMD dazu vor einigen Wochen bereits einen Anlauf, der trotz vorhandener Hardware aber noch nicht mehr als reine Theorie ist - zumindest so lange, wie wir noch auf die ersten DirectX-12-Spiele warten müssen.

Bei den Asynchronous Shaders geht es um eine Umstrukturierung der Kommandos und Befehle innerhalb des Rendering-Prozesses. Die Details dazu haben wir wie gesagt bereits ausführlich besprochen. Der zweite Teilaspekt in der Steigerung der Effizienz in DirectX 12 ist das Multi-Threaded Command Buffer Recording. Hier in Angriff genommen wird die "To-Do-Liste", die von der von den Prozessoren erstellt und abgearbeitet werden muss, um der GPU die notwendigen Daten zuzuführen. Übliche Aufgaben auf einer solchen Liste sind die Beleuchtung, das Laden von Texturen, die Platzierung von Charakteren, das Generieren von Reflexionen und vieles mehr.

Asynchronous Shaders bei AMD

Asynchronous Shaders bei AMD

Prozessoren mit vier und mehr Kernen sind in modernen Gaming-Rechnern keine Seltenheit mehr. Bei High-End-Prozessoren und über Techniken wie das Hyper-Threading kommen auch schnell einmal 16 Kerne zusammen, die für die Abarbeitung und Berechnung zur Verfügung stehen. Die Last gleichmäßig und sinnvoll auf viele Kerne zu verteilen, gelingt der DirectX-11-API nicht in allen Fällen. Die Möglichkeiten, den Command Buffer in viele kleine und parallel zu bearbeitende Bereiche aufzuteilen, sind in DirectX 11 nur eingeschränkt vorhanden. Hinzu kommt noch ein Overhead im Ansprechen des Treibers sowie in der API-Interpretation, was ebenfalls dazu führt, dass Leistung verschenkt wird.

Mit DirectX 12 wird der Command Buffer bzw. das Verhalten der Bearbeitung überarbeitet:

  • Der Overhead wird beseitig, indem Aufgaben der API auf freie CPU-Threads verteilt werden.
  • Die Zeit die benötigt wird, um komplexe Aufgaben auf der CPU zu berechnen wird deutlich reduziert.
  • Die Spiele-Engines können ihre Aufgaben sinnvoller und besser auf vier und mehr Kerne verteilen.
  • Die freiwerdende Leistung wird nicht nur genutzt um die Anzahl der FPS zu erhöhen, sondern auch um die Darstellung durch mehr Details zu verbessern.
  • Der Command Buffer spricht direkt mit den Asynchronous Shaders und sorgt für einen effizienteren Austausch der Befehle.

Wie die Aufteilung der Arbeiten auf mehr zur Verfügung stehende CPU-Kerne erfolgt, zeigt die folgende GIF-Animation:

Unterschiede im Verhalten des Command Buffers in DirectX 11 und DirectX 12

Unterschiede im Verhalten des Command Buffers in DirectX 11 und DirectX 12

Während ein Prozessor unter DirectX 11 mit acht Kernen 29 ms für einen Frame benötigt, damit auf 34 FPS kommt, nur sechs der acht Kerne überhaupt verwendet und es zudem auch noch zu einer ungleichmäßigen Auslastung kommt, wird die gleiche Aufgabe unter DirectX 12 mit 66 FPS bei Frametimes von 15 ms berechnet. Zudem werden alle acht Kerne deutlich gleichmäßiger verwendet. Die Anteile der DirectX-API (rot und türkis) sind pro Frame zudem deutlich kürzer in der Berechnung der einzelnen Frames. Dies beschreibt am deutlichsten die Reduzierung des Overheads.

AMD hat nun bereits mehrfach in der Theorie erklärt, wie ein Teil der Leistungs-Zugewinns mit DirectX 12 bei bestehender Hardware erreicht werden soll. Weiterhin schuldig bleibt man aber den konkreten Nachweis nach der Verbesserung der Leistung. Synthetische Benchmarks sind das eine und sprechen von einem Plus von teilweise mehreren hundert Prozent. Dabei werden aber nur Teilaspekte und niemals ein eventuelles Leistungsplus der kompletten Plattform beleuchtet. Eine Ausnahme soll dabei Ashes of the Singularity sein. Die eng mit AMD zusammenarbeitenden Studios Stardock und Oxide Games zeigten sich beeindruckt: "Selbst wenn die GPU bereits eine beeindruckende Leistung erbringt, konnten wir sie einfach nicht schnell genug mit Daten füttern. [...] Jetzt aber wird jeder einzelne CPU-Kern verwendet."

Die Entwickler von Ashes of the Singularity zu den Verbesserungen

Die Entwickler von Ashes of the Singularity zu den Verbesserungen

Unten genannte Grafikkarten und APUs werden DirectX 12 zumindest in Teilen unterstützen. Die genauen Unterschiede zwischen den Software- und Hardware-Level in DirectX 12 stehen aber noch aus. Windows 10 soll noch im Sommer erscheinen und bis dahin erwarten wir uns nähere Informationen zu diesem Thema.

  • AMD Radeon R9-Serie
  • AMD Radeon R7-Serie
  • AMD Radeon R5 240
  • AMD Radeon HD 8000-Serie für OEM-Systeme (HD 8570 und neuer)
  • AMD Radeon HD 8000M-Serie
  • AMD Radeon HD 7000-Serie (HD 7730 und neuer)
  • AMD Radeon HD 7000M-Serie (HD 7730M und neuer)
  • AMD A4/A6/A8/A10-7000-Serie ("Kaveri)
  • AMD A6/A8/A10 PRO-7000-Serie ("Kaveri")
  • AMD E1/A4/A10 Micro-6000-Serie ("Mullins)
  • AMD E1/E2/A4/A6/A8-6000-Serie ("Beema")
Quellen und weitere Links KOMMENTARE (4) VGWort