Erste Eindrücke zu AMDs Mantle: In Battlefield 4 gegen DirectX

Wolfgang Andermahr
609 Kommentare
Erste Eindrücke zu AMDs Mantle: In Battlefield 4 gegen DirectX

Einleitung

Auf der Insel Hawaii kündigte AMD letztes Jahr nicht nur die Radeon-R7- und die Radeon-R9-Serie an, sondern zugleich auch die eigens entwickelte Low-Level-API Mantle, die die Geschwindigkeit in Spielen gegenüber DirectX massiv erhöhen soll.

Die Voraussetzungen, um Mantle nutzen zu können, sind:

  • Das Betriebssystem Windows 7 oder Windows 8, jeweils 64 Bit
  • Eine Grafikkarte mit AMDs Graphics-Core-Next-Architektur (GCN), ab Radeon HD 7000
  • Der passende Treiber
  • Die passende Software

Die ersten beide Voraussetzungen sind schon länger einfach erfüllbar. Bei den letzten gab es zuletzt wiederholt Verzögerungen.

Bereits zur Vorstellung von Mantle im Oktober 2013 hatte AMD mit Battlefield 4 einen ganz großen Kandidaten ins „Low-Level-API-Boot“ geholt. Der First-Person-Shooter sollte per Patch im Dezember Mantle-Unterstützung erhalten. Mit Dezember ist es zwar nichts geworden, doch nun steht das Update zum Download bereit und AMD hat auch den Catalyst 14.1 – zunächst nur für die Presse – freigegeben.

Wir haben die API genauer getestet und zeigen, wie und ob Battlefield 4 von der Nutzung der Mantle-API profitieren kann.

Alle Details zu Mantle

Das DirectX-Problem

Auch wenn Microsoft DirectX von Zeit zu Zeit aktualisiert, hat der Softwareriese das Entwicklungstempo der API deutlich herunter geschraubt. DirectX 11 ist bereits älter als vier Jahre und es ist weiterhin völlig offen, wann DirectX 12 das Licht der Welt erblickt. DirectX 11.1 und DirectX 11.2 bringen keine großen Neuerungen.

Darüber hinaus hat DirectX mit dem Problem zu kämpfen, dass die API einen großen „API Overhead“ besitzt, sprich die CPU mehr belastet als eigentlich nötig wäre. Das ist zum einen die Natur von High-Level-APIs (auch wenn DirectX keine klassische HL-API mehr ist), anderseits könnte die API diesbezüglich einiges besser machen – dies ist zumindest die Meinung von zahlreichen Spieleentwickler.

Die Mantle-Lösung

Genau das sind zwei Baustellen, die Mantle versucht anzugehen. Als Low-Level-API (vergleichbar mit „Glide“ von 3dfx) hat man einen besseren und direkteren Zugriff auf die Graphics-Core-Next-GPU und so kann der Entwickler die Fähigkeiten der Grafikkarte besser ausnutzen. Darüber hinaus ist der API-Overhead deutlich geringer. So können mit Mantle deutlich mehr „Drawcalls“ (Befehlsaufrufe für eine Berechnung) genutzt werden als bei DirectX, da die CPU unter DirectX mehr belastet wird. Mit Mantle sind angeblich problemlos 100.000 Drawcalls möglich, mit DirectX liegt das Limit dagegen bei 10.000 Aufrufen. Somit können Entwickler die Anzahl der gerenderten Objekte deutlich erhöhen. Allerdings sind das bislang nur theoretische Werte.

Mantle ist somit nicht nur dazu in der Lage, die GPU besser auszulasten und damit die Geschwindigkeit zu erhöhen, sondern auch die CPU. Darüber hinaus soll es mit der Low-Level-API auch einfacher sein, Mehrkern-CPUs auszulasten. Laut DICE, die Mantle zusammen mit AMD entwickelt haben, könne man nur mit der AMD-exklusiven API acht Threads völlig auslasten.

AMD Mantle in Battlefield 4

Mantle besteht quasi aus zwei verschiedenen Teilen. Die API selbst stellt die Verbindung zwischen der Applikation, wie einem Spiel, und dem Treiber her. Darüber hinaus muss der Grafikkarten-Treiber Mantle unterstützen – dies ist ab dem Catalyst 14.1 der Fall – und dieser kommuniziert dann direkt mit der GPU; AMDs GCN. Theoretisch ist es möglich, dass auch andere GPU-Architekturen Mantle nutzen könnten. Hätte Nvidia einen Mantle-Treiber, könnte dieser mit der Mantle-API kommunizieren. Dafür müsste aber nicht nur AMD sämtliche Details über die API offenlegen (was derzeit und auch in naher Zukunft nicht der Fall sein wird), sondern Nvidia müsste sich für eine für die und von der Konkurrenz optimierte API öffnen – was kaum der Fall sein wird.

Technisch gesehen ist Mantle sehr interessant. Dies nützt jedoch auch den Spielern wenig, wenn schlussendlich zu wenig Spiele die API von AMD unterstützen. Nach eigenen Angaben befinden sich derzeit mehr als 20 Spiele mit Mantle-Unterstützung in der Entwicklung. Darunter fällt nicht nur Battlefield 4, sondern potenziell jedes EA-Spiel, das die Frostbite-3-Engine nutzt. Darüber hinaus wird in Kürze Thief Mantle bieten und nächstes Jahr auch das Crowdfunding-Spiel „Star Citizen“. Darüber hinaus werden die zukünftigen Spiele-Engines von Nixxes, Oxide Games und Rebellion mit Mantle umgehen können.

Der aktuelle Stand

Mantle befindet sich laut AMD in einem frühen Stadium und soll mit der Zeit weiter optimiert und auch schneller werden. So ist Mantle derzeit nur auf die Hawaii- und auf die Bonaire-GPU optimiert – sprich die Radeon R9 290X, Radeon R9 290, Radeon R7 260X und die Radeon HD 7790. Andere AMD-Grafikkarten können zwar Mantle schon nutzen, sollen aber weniger als die anderen Modelle profitieren. Mit weiteren Verbesserungen an der API soll sich dies jedoch noch ändern. Laut AMD gibt es bei der älteren GCN-Generation allerdings eine Limitierung beim Speichermanagement, sodass Mantle generell zwar möglich ist, jedoch andere Optimierungen benötigt werden.

Darüber hinaus hat DICE in Battlefield 4 zwar eine eigene Multi-GPU-Lösung für Mantle integriert, doch funktioniert diese mit dem derzeitigen Catalyst-Treiber noch nicht korrekt. Notebooks mit der Enduro- oder PowerExpress-Technologie unterstützen aktuell noch kein Mantle.