Inleiding
Maandenlang heeft AMD menige gamer in spanning gehouden; Mantle zou namelijk binnen afzienbare tijd zijn opwachting maken en er zou een hogere framerate uit bestaande videokaarten mee te behalen zijn. Eind september al, bij het uitbrengen van zijn nieuwe videokaartserie, liet AMD weten dat Mantle significante prestatiewinsten moest opleveren in games die daarvoor geschikt werden gemaakt. Alle videokaarten uit de HD7000- en R-serie zouden van de nieuwe techniek kunnen profiteren. Half december moest Battlefield 4 als eerste game, dankzij een patch, AMD's eigen api gaan ondersteunen, maar dat bleek iets langer te duren.

Een van de oorzaken van de vertraging was dat spelontwikkelaar DICE het te druk had met het pletten van bugs in Battlefield 4. Gelukkig bleek zesmaal scheepsrecht en kwam op 30 januari de grote patch uit die Mantle naar de pc moest brengen.
Helaas is alleen de patch voor Battlefield niet genoeg om Mantle aan de praat te krijgen. Er moet ook gebruikgemaakt worden van AMD's nieuwste 14.1-driver, die tegelijk met de patch voor Battlefield had moeten verschijnen. AMD stelde het uitbrengen van die nieuwe driver echter uit vanwege een ernstige bug die op het laatste moment nog geconstateerd werd. Uiteindelijk kwam op 2 februari Catalyst-driver 14.1 beta v1.6 uit.
Om te zien wat Mantle concreet oplevert, pakten wij er drie videokaarten en vier verschillende testsystemen bij, en keken we naar de snelheidstoename.
Mantle, wat doet het?
AMD prijst Mantle aan als een revolutionaire manier om het ontwikkelen van games te vergemakkelijken en waarmee games bovendien sneller draaien op dezelfde hardware. Dat is mogelijk doordat Mantle DirectX vervangt. Al in 2011 liet Richard Huddy van AMD weten dat spelontwikkelaars ontevreden waren over de efficiëntie van DirectX en blijkbaar heeft dat ertoe geleid dat AMD zelf begonnen is een vervanger te ontwikkelen, die uiteindelijk als Mantle ter wereld kwam.

Net als DirectX is Mantle een api die gebruikt wordt om 2d- en 3d-beelden te renderen. In tegenstelling tot DirectX, dat een high-level-api is, is Mantle een low-level-api. DirectX bevindt zich op een hoger niveau dan Mantle, in die zin dat het verder van de hardware afstaat en dus 'abstracter' is. Dat komt doordat DirectX de api is die voor het hele Windows-platform 3d-beelden van hardwareversnelling moet voorzien en dus ook zo veel mogelijk hardware moet ondersteunen.
DirectX ondersteunt voor games gpu's van Intel, Nvidia en AMD van de huidige, maar ook van eerdere generaties. Wie zijn game voor DirectX programmeert, laat het renderen van beelden in zijn game uitvechten door Windows en de grafische driver.
Bij Mantle werkt dat iets anders; daarbij kan de videokaart 'directer' worden aangesproken dan bij DirectX. Dat leidt ertoe dat er code voor specifieke gpu's geoptimaliseerd kan worden. Mantle ondersteunt momenteel alleen AMD-gpu's die op de gcn-architectuur zijn gebaseerd, wat concreet neerkomt op alle R-serie-videokaarten, de HD7000-kaarten, en alle daarvan afgeleide kaarten.
Wat nog interessanter is,
is de snelheidswinst die geboekt kan worden
Volgens AMD is programmeren voor Mantle makkelijker dan voor andere api's en daardoor moet ook het ontwikkelen van games makkelijker gaan. Wat nog interessanter is, is de snelheidswinst die geboekt kan worden doordat Mantle geoptimaliseerd is voor bepaalde hardware. AMD laat weten dat Mantle maximaal negen keer zoveel draw calls kan maken als concurrerende api's. Simpel gezegd moet voor ieder object dat door de gpu wordt gerenderd een draw call gemaakt worden. Hoe langzamer de cpu, des te lastiger het is om als die draw calls uit te voeren, wat resulteert in een inzakkende framerate.
Op het gebied van draw calls is er dus nog veel winst te behalen en dat is precies wat Mantle doet, naast een paar optimalisaties voor de gpu zelf. Waar het dus kortweg op neerkomt, is dat Mantle vooral nut heeft bij snelle videokaarten die tegengehouden worden door langzame processors. Dat is dan ook de reden dat we vier verschillende testsystemen gebouwd hebben, waarmee we de winst van Mantle in getallen willen uitdrukken.
Testsystemen en Battlefield 4
Mantle leidt dus tot een efficiënter gebruik van niet alleen de gpu, maar vooral ook de cpu. Daarom hebben we we niet alleen verschillende videokaarten getest, maar hebben we ze ook in verschillende testsystemen geprikt. We draaiden dezelfde Battlefield 4-benchmark als in eerdere tests.
| AMD FX-testsysteem | Intel Ivy Bridge E-testsysteem |
Processor |
FX-8350 @ 4,4GHz |
Core i7-4960X @ 4,4GHz |
Moederbord |
Asus Crosshair V Formula |
Asus Rampage IV Extreme |
Geheugen |
16GB Corsair Vengeance ddr3-1866 |
16GB Kingston HyperX ddr3-1866 |
Ssd |
Samsung 830 128GB |
Samsung 830 128GB |
Besturingssysteem |
Windows 8.1 Enterprise 64bit |
Windows 8.1 Enterprise 64bit |
| AMD FM2+-testsysteem | Intel Sandy Bridge-testsysteem |
Processor |
A8-7600 (65W) |
Core i3-2100 |
Moederbord |
Gigabyte G1. Sniper A88X |
MSI Z77-GD65 |
Geheugen |
16GB AMD Radeon Memory ddr3-1866 |
16GB AMD Radeon Memory ddr3-1866 |
Ssd |
Samsung 830 128GB |
Samsung 830 128GB |
Besturingssysteem |
Windows 8.1 Enterprise 64bit |
Windows 8.1 Enterprise 64bit |
Hoewel de FX-8350 in eerdere benchmarks de framerate in Battlefield 4 enigszins beperkte, hebben we niet het idee dat de octocore-processor een enorme bottleneck vormde. Daarom bouwden we nog twee testsystemen, die gegarandeerd langzamer zijn dan de FX-8350 en de 4960X.
We hebben het FM2+-systeem voorzien van een A8-7600 uit AMD's nieuwe Kaveri-generatie, terwijl we een i3-processor van de Sandy Bridge-generatie voor in het Z77-moederbord wisten op te snorren. Alle systemen zijn voorzien van 16GB werkgeheugen, zodat dat niet van invloed kan zijn op de benchmarkresultaten.
Op de vier testsystemen hebben we drie videokaarten getest: AMD’s R9 290X, R9 290 en R7 260X. Het leek er enige tijd op dat in eerste instantie alleen deze drie videokaarten zouden worden ondersteund, maar ondertussen is gebleken dat Mantle in Battlefield ook op andere gcn-kaarten kan worden ingeschakeld.
/i/1391492891.jpeg?f=imagenormal)
Normaal gesproken gebruiken we Fraps om de framerates bij te houden, maar omdat daarvoor DirectX of OpenGL nodig is, gebruiken we de ingebouwde logfunctie van Battlefield 4. Met behulp van de functie 'PerfOverlay.FrameFileLogEnable' genereert de game een tekstbestand met frametimes op basis waarvan we de gemiddelde framerate kunnen uitrekenen.
Testresultaten
We draaiden Battlefield 4 met ultra-instellingen en full-hd-resolutie op alle vier de testsystemen. We hebben de framerate gemeten gedurende dezelfde cutscene als we ook bij eerdere benchmarks hebben gebruikt en we zijn begonnen met de snelste AMD-kaart van dit moment, de R9 290X.
Uit de benchmark zonder Mantle blijkt de 290X behoorlijk veel last te hebben van trage processors. Onze snelste Core i7-processor levert met dezelfde gpu een bijna dertig procent hogere framerate op dan de AMD A8-processor.
Schakelen we vervolgens Mantle in, dan blijkt AMD zijn belofte waar te maken en een enorme prestatiewinst neer te zetten voor de langzaamste processors. Het speelveld van de vier systemen schuift dankzij de nieuwe api in elkaar en het Core i7-systeem is nog maar vijf procent sneller dan het FM2+-systeem. De minimale framerates blijken wel lager dan bij DirectX, maar dat kan een kwestie van het optimaliseren van de driver zijn.
R9 290
De R9 290 blijkt al minder te eisen van de processor dan de 290X. De gemiddelde framerate ligt op het snelste systeem nog wel twintig procent hoger dan op het langzaamste, maar dat viel te verwachten. Welke gpu je ook monteert, meer dan 55fps is niet te halen met de Kaveri-A8 en DirectX.
Schakelen we Mantle in, dan gaat het FM2-systeem er meteen 25 procent op vooruit en komen de gemiddelde framerates dicht bij elkaar in de buurt te liggen. Het AMD FX-systeem blijkt de minste baat te hebben bij Mantle, terwijl het Core i7-systeem er toch nog acht procent bij krijgt.
R7 260X
Tot slot hebben we Mantle op de R7 260X getest. Deze midrange-kaart is vergelijkbaar met de HD 7790 van de vorige generatie. Doordat de 260X geen heel krachtige gpu is, verwachten we dat de processor bij deze videokaart niet snel de bottleneck zal vormen.
Zonder Mantle ligt de gemiddelde framerate op ieder systeem gelijk; de processor houdt de gpu klaarblijkelijk niet tegen.
Mantle leidt tot een iets verhoogde framerate, maar meer dan een à twee procent wordt het niet en daarmee valt het resultaat nog binnen de foutmarge. In het geval van de 260X zouden we om die reden aanbevelen om DirectX gewoon te blijven gebruiken, want Mantle en de 14.1-driver verkeren nog in het bètastadium en lieten Battlefield 4 vaker crashen dan DirectX. Bovendien ligt de minimale framerate bij het gebruik van Mantle lager dan in DirectX.
Conclusie
AMD heeft met Mantle laten zien dat er aan de efficiëntie van grafische api's, zoals DirectX, nog wel wat te sleutelen valt. Als DirectX wordt vervangen door het 'dichter bij de hardware staande' Mantle, kunnen op systemen met langzame processors bijvoorbeeld veel meer draw calls gemaakt worden, wat dan beperkt wordt door de aanwezige cpu-kracht.
Is dat revolutionair? Integendeel, gameconsoles, zoals de Xbox en PlayStation, maken altijd al gebruik van hardware die we in vergelijking met pc-hardware als traag zouden bestempelen. Doordat echter 'direct' op de hardware kan worden geprogrammeerd, kunnen games er op een console net zo goed uitzien als op een high-end game-pc.
In de toekomst zullen meer games Mantle ondersteunen
Het idee is dus niet nieuw, maar de daadwerkelijke beschikbaarheid van een alternatieve en vooral snellere api, dat is een tijd geleden. Voor nu betekent het dat de framerate voor alle spelers van Battlefield 4 met een AMD-videokaart er gratis een paar procent op vooruitgaat. In de toekomst zullen meer games Mantle ondersteunen en dan zal ook de impact van Mantle blijken.
Toch is het ons niet helemaal duidelijk op welke vraag Mantle het antwoord is. De benchmarkresultaten tonen aan dat Mantle de meeste winst oplevert in gevallen waarin een snelle videokaart met een langzame processor wordt gecombineerd. Wij pakten een R9 290X van 450 euro en een A8-7600 van ongeveer 120 euro, en konden een snelheidstoename van maar liefst dertig procent aan de nieuwe api toeschrijven.
Prachtig natuurlijk, maar wie 450 euro aan een videokaart uitgeeft, heeft waarschijnlijk ook wel een paar centen over voor een snelle processor. Bovendien heb je die snelle processor tóch nodig voor alle games die geen Mantle-ondersteuning hebben. Wie nu dus Battlefield 4 speelt en met een trage cpu zit, maar wel een rappe AMD-kaart heeft, kan flink voordeel halen uit Mantle. Gamers die al een snel systeem hebben of genoeg hebben aan een middenmoter als de R7 260X, krijgen er maar een paar procent bij. Mooi meegenomen, maar voor velen maakt het geen wereld van verschil.