AMD Mantle: A Graphics API Tested In Depth

Battlefield 4: RAM Issues And Driver Updates

As mentioned, we let AMD know about our Mantle issues under Battlefield 4, and was told that the game currently suffers from an issue that results in lower performance on cards with less than 4 GB of memory. In order to test this issue, we were sent an MSI Radeon R9 270X with 4 GB of GDDR5. Does the extra memory alleviate our observed problem?

While we don't see the performance penalty that Mantle caused previously, there's no perceptible advantage, either.

Once again, the frame time variance is exceptionally low on average, and the occasional spikes make little difference.

For now, it appears that on-board memory isn't the only limiting factor. At least in Battlefield 4, Mantle demonstrates an advantage over DirectX on high-end cards with 4 GB of memory. The extra GDDR5 doesn't appear to help a Radeon R9 270X under the API.

Battlefield 4 (June 3 Update) And Catalyst 14.6 Beta Release Candidate 2

This is one of the most benchmark-intensive articles I've ever written, involving multiple graphics cards tested across multiple platforms. I began the project back when Catalyst 14.4 Beta was the newest driver available, but used Catalyst 14.3 Beta because there were instances of the 14.4 driver penalizing performance.

Once testing was complete, I spent a lot of time doing additional research. I discussed the numbers with AMD, which led to 4 GB corner case benchmarking. I did more homework on APIs, and Chris Angelini spent some time with AMD's Richard Huddy in Bakersfield. To make a long story short, enough time passed that Battlefield 4 received an update on June 3rd, and AMD released its Catalyst 14.6 Beta driver.

I needed to make sure that my Mantle-based performance data was still relevant, so I ran a few tests with the latest updates and found that, in Battlefield 4, performance under Mantle improved on video cards with less than 4 GB of memory. The bad news is that, while the gap gets smaller, AMD's API is still a tad slower with a less consistent frame rate than DirectX 11. Even though the gap is much closer, Mantle doesn't offer an advantage in anything less than a Radeon R9 290.

The bottom line is that Radeon cards with less than 4 GB of memory still do not benefit from a performance advantage in Battlefield 4 under Mantle. But with the newest driver and game patch, that hit is smaller than our numbers with the 14.3 Beta package. Its an encouraging development, which speaks to the work AMD and DICE are putting into the API. But it also shows us how much effort is required. We'd hope that Battlefield 4 would run faster under Mantle, regardless of the card installed and its on-board graphics memory capacity.

Create a new thread in the US Reviews comments forum about this subject
This thread is closed for comments
107 comments
    Your comment
    Top Comments
  • Mantle is not glide. 3DFX had 85% of the GPU share when they had glide so it was easier for developers to use the glide (AMD has 35% right now).
    But Mantle did something really good for gamers. Till now Microsoft with no competition didn't gave too much attention in performance optimising the DirectX. They gave Microsoft a reason to improve DirectX (so they will bring DX12) in the way mantle works. This benefits all the gamers.
    Unfortunately I have a feeling that Microsoft will give DirectX12 only with Windows9 (due to kernel limitations at their pockets).
    If this will be true then Mantle might have more life than most users expected to (since it wil take time for windows 9 to rule the market share)...
    12
  • Other Comments
  • Wow, Don. This is a good read. You must have plagiarized it from some somewhere :D

    [Answer by Cleeve:]

    Nice, Damric. nice. :)
    -13
  • memory problems... so my 260x with 1gb will sufferrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
    0
  • Mantle is not glide. 3DFX had 85% of the GPU share when they had glide so it was easier for developers to use the glide (AMD has 35% right now).
    But Mantle did something really good for gamers. Till now Microsoft with no competition didn't gave too much attention in performance optimising the DirectX. They gave Microsoft a reason to improve DirectX (so they will bring DX12) in the way mantle works. This benefits all the gamers.
    Unfortunately I have a feeling that Microsoft will give DirectX12 only with Windows9 (due to kernel limitations at their pockets).
    If this will be true then Mantle might have more life than most users expected to (since it wil take time for windows 9 to rule the market share)...
    12
  • Next Open GL specification is almost redy & will be announced next month in (ironically) Vancouver Canada. Naturally it will be available on all platforms (that want to integrate OGL) & it will be addressing lover overheads. As gaming market is getting more fragmented it's getting natural to develop for api that can run on all platforms.
    -2
  • Is the battlefield 4 tested in multi-player?

    [Answer By Cleeve:]

    It was tested in single player, as its easier to get consistent results. We're trying to eliminate variables except the graphics engine as much as possible.
    9
  • "AMD Mantle: AMD's PhysX "

    please do a research what is Mantle before post
    it seems you don't understand what are you writing about.

    [Answer by Cleeve:]

    I think the problem may be that you don't understand the context of the answer, which does not equate Mantle with PhysX on a technical level.

    We equate Mantle with PhysX in the sense that it's a value-add that assists in a limited number of games. Its not a universal advantage.
    -5
  • User testing around the Internet shows Intel are at least as fast in Mantle as AMD CPUs.

    Its obvious there is something very wrong with your testing.

    [Answer by Cleeve:]

    Actually, nobody on the internet has really tested anything but Radeon R9 290s when it comes to Mantle. Instead of assuming it always works in every situation like everyone else, we actually tested it, not only with the 290, but with a wide range of CPUs and GPUs. We did this with feedback from AMD.

    Mantle is not the perfect, slick API that people assume it is. AMD stresses that its considered a beta and is not yet a final product.

    I believe that our test results are quite accurate. The problem is that the API, something the developer considers unfinished at this point, probably still needs work and has room to grow. And I'm sure it will get better over time.

    But pretending it works 100% perfectly doesn't help anyone. That's not even something that AMD would try to say at this time as it has obvious issues. They are working on it. But there is a value to in-depth testing and to sharing the inconsistencies.


    i7 with 4 cores and 8 threads right here http://forums.overclockers.co.uk/showthread.php?p=26614553#post26614553

    Using your settings.

    Min 62 FPS
    Max 82 FPS

    here is one with a 4770K @ 4.5Ghz

    Avenged7Fold: 290X @ 1300/1604, 4770K @ 4.5Ghz - Mantle FPS: Min 71.8 / Avr 88.5. http://forums.overclockers.co.uk/showpost.php?p=26380265&postcount=291

    That ^^^ is actually on the highest possible settings.

    I know a lot of people using i7's with mantle, in Thief and BF4, some with CF 290's, they all report FPS gains with Mantle over DX, especially when in CF. in BF4 averaging 170 FPS with 120 FPS minimums. over 50% higher than they do in DX.

    I don't know where you have gone wrong. but everyone on our forum is utterly confused by your i7 results.

    http://forums.overclockers.co.uk/showthread.php?t=18611853
    -14
  • As a programmer of 30 years, that's arguably the worst description of an API I have heard.

    An API is a set of commands, with required parameters, a software package presents to another application that wishes to use its services. It's essentially the language to use the services it provides.

    Mantle isn't just an API. It's an abstraction layer that makes it unnecessary for the developer to write directly to the hardware, which is tedious, time-consuming and extremely difficult to do on a large product. The API is what Mantle accepts to tell it what to do, and what the programmer must learn to use it, but it is NOT all Mantle is. It's just how to talk to it.

    A pure API would be something someone demented would write, because it would mean you could issue commands to do nothing. I'm guessing Apple is patenting this technology now.

    [Answer by Cleeve]

    I'm sorry you feel that way. I don't agree as I feel it's a useful high-level primer for folks who haven't been programming for 30 years, but you're certainly entitled to your opinion. :)
    -1
  • On page 4 its clear mantle doesn't work well with Intel's Hyper-Threading but what about Intel's 6 core CPU's? Does mantle give an Intel 6 core a bigger advantage in games that dx? I wouldn't throw mantle under the bus just due to its unoptimized for Hyper-Threading. Please add an Intel's 6 core to these tests.
    -3
  • I can see intel supporting mantle in its future gpu hardware. I mean just recently intel asked amd for its mantles api specs. So intel using mantle in the future is much more plausible then Nvidia using mantle.
    1
  • Mantle can actually become quite relevant in any next-gen ultra-portable x86 APUs that AMD come up with. Especially useful if coupled with proper integration with Steam-OS.
    2
  • Nice analysis.

    Probably there wasn't a DirectX 12 on the works because of maturity (what else add to DirectX that it pays for?) and Mantle showed the way.

    I don't like the comparation to PhysX (because of what has finally become) and the fact that Mantle won´t bring new features to games.

    It is Mantle here to stay, probably, sadly, not. Its success as an universal graphics API is complicated:
    if it was on time for PS4, XBox One (M$...) and Linux / Valve Steam OS and above all: Mobile devices (ARM...), if it could get NVidia involved also, perhaps Mantle would gain enough momentum to become an accepted universal standard.

    The other battle field is on the developer front: get major 3D Engines to support a Mantle code path (and what are the costs related to maintaining that code path from a developer standpoint).

    ta512, as deep as a naming convention discussion can go, what AMD is doing is an API which implements a Hardware Abstraction Layer for the graphics cards of any hardware vendor (AMD, NVidia, Intel). What have tested here is the AMD own implementation of that API made to run on AMD hardware.

    What is open source is the API, not the AMD own implementation.

    This Is like discussing if ARM it is a processor or an instruction set... and what / where the difference is.

    In a case scenario where you have BattleField 4 running on an i7 with an NVidia card with a Mantle enabled driver (let's suppose Nvidia gets on the Mantle train) the only thing AMD would have done would be decide how the game will talk to the graphics card, but neither the game, the driver, the graphics card, none of these would be AMD's work,,,

    Cheers
    1
  • 309074 said:
    How I see line graph with 15 positions.


    Urmehghurd, I LOLed. Nice one.

    Yeah, this is a little ugly. Note that I made the mantle results thicker so it'd be slightly easier to pick out the Mantle trends, but yeah. Would be a little easier to pinpoint specific cards with less data.
    4
  • Very interesting article. I have a Sapphire R9 290 Tri-X in my FX8350 rig and BF4 has slightly faster fps in Mantle than in DirectX
    0
  • Is it just me, or is that last Frame Time Variance graph on the 8th page labeled wrong? I wouldn't think frame time variance would be displayed in frames per second, and if it was, the majority of the items on the chart would (hopefully) not be between 0-10 if "higher is better".

    Maybe I misunderstand what the chart is trying to show.

    [Answer by Cleeve:]

    Doh! You're quite right, I'll get that fixed.
    3
  • I think Tom's doesn't really understand the difference between the OS API and a regular API. The entire first page muddies the discussion. Mantle isn't an API it's the low level driver behind the API, and that can be made as lean or as bloated as possible with no changes to the API itself. As an example Android uses the Java API but it's a completely different implementation than what you would see on an EA game.

    I'm also concerned that Battlefield was used as a benchmark. Although I understand that the available benches are limited by those that support Mantle Battlefield is notoriously difficult to get consistent results with, I would consider the differences well within experimental error and therefore unreliable.
    1
  • Quote:
    Alright, I think I have a handle on the basics of Mantle. What now?

    For the sake of professional image, please remember that Alright is Alwrong. All right?
    [/nazi]
    To the meat of the article, it does look like Mantle will help some of AMD's weaker CPUs some of the time, but if that isn't what you have, Mantle does not make a large enough difference to influence buying decisions (sort of like PhysX; in only a few cases does it really matter). If your system is one of those cases, it is a pretty substantial difference, but for many people it won't be.
    3
  • 764073 said:
    I think Tom's doesn't really understand the difference between the OS API and a regular API. The entire first page muddies the discussion. Mantle isn't an API it's the low level driver behind the API


    I'm not sure I read you here. There's a Mantle API and a Mantle driver, these are separate entities.

    I've been at briefings and talked to developers, and it's been made very clear that Mantle is a graphics API, which requires a Mantle-compatible driver to work with specific hardware.

    764073 said:
    I'm also concerned that Battlefield was used as a benchmark. Although I understand that the available benches are limited by those that support Mantle Battlefield is notoriously difficult to get consistent results with, I would consider the differences well within experimental error and therefore unreliable.


    I'll have to disagree on this one. We have a BF4 test run that has been extremely reliable and repeatable for us, usually with less than 1.5 FPS difference in three runs.

    When there's an issue found in data, it's easy to assume its the test. Sometimes it's what you're testing, though. We can't ignore issues out of convenience.
    1
  • You guys need to test MP... I know its hard and blah blah, but you can just add error margin to results and just describe the differences if you guys notice any.

    You guys are testing a grippy car in just a drag race. That's unfair. You need to add cornering as well.

    Cheers!
    3