Werbung
Auf der gerade stattfindenden APU13 wollte AMD weitere Details zur Mantle-API verraten und auch weitere Partnerschaften ankündigen. Die Kollegen von Heise Online sind vor Ort und konnten zumindest der Präsentation beiwohnen und daher einige neue Erkenntnisse gewinnen. Mit Mantle möchte AMD den Spieleentwicklern zum einen einfacheren Zugriff auf die Grafikhardware gewähren und zum anderen die Performance verbessern. Positiver Nebeneffekt der gemeinsamen Hardware von PC und Next-Gen-Konsolen soll die einfachere Portierung von Spielen auf dem PC sein.
Bereits auf dem GPU14 Tech Day wurde klar, welche Motivation für AMD hinter Mantle steckt. Spieleentwickler sollen an AMD herangetreten sein und einige Wünsche geäußert haben. Allen voran war dies wohl der Chefentwickler bei DICE, Johan Andersson. Andersson soll es dabei vor allem darum gegangen sein, flexibler zu sein, als dies aktuell mit der Direct3D- und OpenGL-Schnittstelle denkbar ist. Spielerhersteller müssen bisher gleich mehrere Abstraktionsebenen überwinden, um die eigene Software möglichst gut auf die dazugehörige Hardware zu optimieren. Kompromisse an die gegebene Hardware gehen die Direct3D- und OpenGL-Schnittstellen bereits ein, damit dafür programmierte Software auf einer Reihe von Geräten funktioniert.
[figure image=images/stories/newsbilder/aschilling/2013/apu14-mantle-1-rs.jpg link=images/stories/newsbilder/aschilling/2013/apu14-mantle-1.jpeg alt=AMDs Mantle-API]AMDs Mantle-API[/figure]
APIs haben einen entscheidenden Einfluss auf die Performance von GPUs und CPUs. Besonders wichtig sind hier die sogenannten "Draw Calls", also Befehle, die an die GPU gesendet werden, um ein bestimmtes Objekt zu rendern. Ein Frame, der am Ende die Render-Pipeline verlässt, benötigt mehrere hundert dieser "Draw Calls". An diesem Punkt setzt Mantle ein und erlaubt bis zu 9x mehr "Draw Calls" als Direct3D. Zwar arbeitet auch Microsoft an einer Lösung genau dieses Problems, allerdings ist es derzeit noch nicht vollständig gelungen einen CPU-Overhead und damit Performance-Verlust zu vermeiden.
Des Weiteren kann Mantle Zugriff auf den Speicher, welcher der GPU und CPU zur Verfügung steht, zugreifen. Durch diese verbesserte Kontrolle und selbstständige Erzeugung der sogenannten "Command Buffers" wird ebenfalls ein Overhead beim Speicherbedarf und der Verwaltung des Grafikkarten-Treibers vermieden. Eine weitere Ressourcen-Verwaltung sorgt dafür, dass wir nicht mehr unzählige Buffer und Arrays haben (Heise nennt beispielsweise Index Buffers, Vertex Buffers, Constant Buffers, Texture Arrays oder UAVs), sondern nur noch zwei: "Memory" und "Images". Verkürtzte Ladezeiten zur Initialisierung der Hardware durch die API ergeben sich durch ein verbessertes Binding-Modell sowie die Tatsache, dass die Shader nicht mehr bei jedem Start neu kompiliert werden müssen.
[figure image=images/stories/newsbilder/aschilling/2013/apu14-mantle-2-rs.jpg link=images/stories/newsbilder/aschilling/2013/apu14-mantle-2.jpeg alt=AMDs Mantle-API]AMDs Mantle-API[/figure]
Durch das verbesserte Resources-Management sollten auch Multi-GPU-Systeme profitieren. Als Beispiel nennt AMD natürlich immer gerne den Zusammenschluss einer APU mit einer disktreten Grafikkarten. Für uns interessanter ist aber sicherlich das CrossFire bestehend aus zwei High-End-Grafikkarten.
Es bliebt die Frage nach den Unterstützern von Mantle. Eine Technologie kann noch so vorteilhaft für den Programmierer und Spieler sein, ohne die entsprechende Unterstützung ist dies nicht viel wert. Bisher am konkretesten sind die Pläne von EA bzw. DICE, die vielleicht sogar noch im November das Mantle-Update für Battlefield 4 zur Verfügung stellen wollen. Weitere Zusagen hat AMD bisher zu Star Citizen und Thief.
{jphoto image=46295}