AMD Mantle: A Graphics API Tested In Depth

How We Tested AMD's Mantle API

You might assume that Mantle's primary purpose is to squeeze as much performance as possible out of Radeon graphics cards. In a sense, that is true. But it's important to keep in mind that the problem Mantle is designed to solve isn't really graphics-oriented. Rather, Mantle is intended to tackle the inefficiencies that hamper how the work is distributed to CPUs.

Therefore, in a best-case scenario, Mantle alleviates bottlenecks imposed by budget-oriented processors (the kind AMD manufactures and sells). For instance, consider this scenario: in DirectX, a Radeon card may deliver faster performance on a high-end Intel Core i7 than on an FX-4170. If Mantle works as intended, we should expect to see the FX-4170's performance results increase and come closer to the Core i7. We wouldn't expect the Core i7's numbers to increase much because it's already a very fast CPU that masks the driver overhead imposed by DirectX.

To test this, I set up a wide array of platforms and graphics cards described in the table below. All Radeon cards are benchmarked under DirectX and Mantle to gauge whether there are appreciable differences. I also include GeForce cards for the sake of comparison.

While we usually run our benchmarks through Fraps or FCAT, both solutions are designed for use under DirectX, and consequently don't work with Mantle. As a result, we're forced to use the built-in benchmarking tools supplied with Thief and Battlefield 4. Thankfully, the command console of Battlefield's Frostbite engine is quite robust, allowing us to capture detailed frame time variance data. As for Thief, we can only record game-supplied frame rates, so frame time data is not available.

As you'll see later in this story, we needed a specific mid-range card with 4 GB of memory for a special test. MSI sent over its Radeon R9 270X Gaming 4G, armed with a Twin Frozr IV cooler and three operating modes: silent (1050 MHz), gaming (1080 MHz), and overclocked (1120 MHz).

High-end graphics cards require a substantial amount of power, so XFX sent us its PRO850W 80 PLUS Bronze-certified power supply. This modular PSU employs a single +12 V rail rated for 70 A. XFX claims continuous (not peak) output of up to 850 W at 50 degrees Celsius.

We've almost exclusively eliminated mechanical disks in the lab, preferring solid-state storage for alleviating I/O-related bottlenecks. Samsung sent all of our labs 256 GB 840 Pros, so we standardize on these exceptional SSDs.

Swipe to scroll horizontally
Header Cell - Column 0 FM2+SystemAM3+SystemLGA 1155 SystemLGA 1150 System
MotherboardASRock FM2A88X-ITX+, Socket FM2+Gigabyte GA-990FXA-UDS, Socket AM3+Asus P8Z77-V LX, LGA 1155ASRock Z87 Pro3, LGA 1150
ProcessorAMD A10-7850K, Quad-Core, 3.7 GHz (4 GHz maximum Turbo Core)AMD FX-8350, Octa-Core, 4 GHz (4.2 GHz maximum Turbo Core)AMD FX-4170, Quad-Core, 4.2 GHz (4.3 GHz maximum Turbo Core)Intel Core i3-3220, Dual-Core, Hyper-Threading, 3.3 GHzIntel Core i7-4770K, Quad-Core, Hyper-Threading, 3.5 GHz (3.9 GHz maximum Turbo Boost)
Memory8 GB Corsair Vengeance LP (2 x 4 GB) 1600 MT/s, CAS 9-9-9-24-1T
GraphicsGeForce GTX 650 2 GB GDDR5GeForce GTX 660 2 GB GDDR5GeForce GTX 780 Ti 3 GB GDDR5Radeon R7 250X 1 GB GDDR5Radeon R9 270 2 GB GDDR5Radeon R9 270X 4 GB GDDR5Radeon R9 290X 4 GB GDDR5
System DriveSamsung 840 Pro, 256 GB SSD, SATA 6Gb/s
Power SupplyXFX PRO850W, 850 W, 80 PLUS-certified
Software and Drivers
Operating SystemMicrosoft Windows 8 Pro x64
DirectXDirectX 11
Graphics DriversAMD Catalyst 14.3 Beta (14.4 Beta demonstrates some performance detriment issues)Nvidia GeForce 337.88 WHQL

And here are the benchmark details:

Swipe to scroll horizontally
Benchmark Configuration
3D Games
ThiefBuilt-in benchmark
Battlefield 4THG custom benchmark, 90 seconds
  • damric
    Wow, Don. This is a good read. You must have plagiarized it from some somewhere :D


    Nice, Damric. nice. :)
    Reply
  • Amdlova
    memory problems... so my 260x with 1gb will sufferrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
    Reply
  • Memnarchon
    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)...
    Reply
  • ZolaIII
    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.
    Reply
  • tomfreak
    Is the battlefield 4 tested in multi-player?


    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.
    Reply
  • chaosmassive
    "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.


    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.
    Reply
  • abundantcores
    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.


    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
    Reply
  • ta152h
    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.


    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. :)
    Reply
  • elbert
    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.
    Reply
  • SteelCity1981
    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.
    Reply