• Competitor rules

    Please remember that any mention of competitors, hinting at competitors or offering to provide details of competitors will result in an account suspension. The full rules can be found under the 'Terms and Rules' link in the bottom right corner of your screen. Just don't mention competitors in any way, shape or form and you'll be OK.

Mantle: Teething Problems (Anandtech R9 285 review showing the downsides of low level APIs)

Associate
Joined
28 Apr 2014
Posts
288
Location
Finland
** No hotlinking images, thank you **

http://images.anandtech.com/graphs/graph8460/67600.png

Shifting gears, for the launch of the R9 285 AMD is advising reviewers and users alike that Mantle performance on Thief and Battlefield 4 is not going to be up to snuff right now. The reason for this is simple, but the potential ramifications are a bit more complex.

Because Tonga is based on a new GPU – and a newer version of GCN no less – the developers of Thief and Battlefield 4 have not had the opportunity to optimize their games for Tonga products. If you have ever used some of the lower end GCN products (e.g. Cape Verde) then you’ve seen first-hand that these games already are hit & miss depending on the GPU in use, so Tonga is an extension to that limitation. Meanwhile though AMD’s admission doesn’t include drivers, we would expect that there is some work that the company needs to do to better account for the minor architectural differences, even if Mantle is a thin driver API.

The complexity then stems from the fact that this is basically the first litmus test for how well Mantle (and potentially other low level APIs) will handle new hardware in the future, and at this time AMD is close to failing this test. On the one hand Mantle is up and running; both Thief and Battlefield 4’s Mantle rendering paths work on R9 285 despite neither game having seen the GPU before, and as far as we can tell there are no immediate rendering errors. However the fact that Mantle performance has significantly regressed and at this point is below Direct3D performance is not what we’d like to see.

In explaining the situation, AMD tells us that this is an application level issue due to these games not being familiar with Tonga, and that this can be fixed through further patches. And ultimately if nothing else, these Tonga teething issues would be limited to these two games since they’re the only Mantle games to be released before Tonga.

The bind this puts AMD in, and why this is a bad omen for Mantle, is that if low level APIs are to take off then these kind of forward compatibility issues cannot occur. Though even high level APIs aren’t perfect – we’ve seen OS and driver updates break very old D3D and OpenGL games over time – high level APIs are forward compatible enough that virtually all games will work on newer hardware. And in the case they don’t, due to the abstraction-heavy nature of these APIs the problem and the solution are likely at the driver level. Mantle’s current state on the other hand puts the resolution in the hands of game developers, who unlike hardware vendors cannot necessarily be counted on to update their games to account for new hardware, especially given the front-loaded nature of video game sales.

For the moment Mantle is still in beta and very clearly so, with Thief and Battlefield 4 serving as proof of concept for the API. For that reason AMD still has time to contemplate the issue and ensure Mantle is more readily forward-compatible. But it’s going to be very hard justifying using Mantle if we see these kinds of regressions on non-beta drivers with games that were built against the non-beta SDK. AMD needs to ensure the shipping version of Mantle doesn’t suffer from these teething issues.

On a tangential note, this does raise the question of how well Direct3D 12 may handle the issue. By its vendor-limited nature Mantle has the opportunity to work even lower than a cross-vendor low level API like Direct3D 12, but D3D12 is still going to be low level and exposed to some of these hazards. For that reason it will be interesting to keep an eye on Direct3D development over the next year to see how Microsoft and its partners handle the issue. We would expect to see Microsoft have a better handle on forward-compatibility – in their position they pretty much have to – but if nothing else we’re curious just what it will take from game developers, API developers, and hardware developers alike to ensure that necessary level of forward-compatibility.

http://www.anandtech.com/show/8460/amd-radeon-r9-285-review/6

A really interesting part of the Anandtech R9 285 review discussing the effects Mantle (and potentially other low level APIs such as D3D12) will have when it comes to supporting newer hardware, especially in titles that have already been launched.

The fact that AMD's excuse for this is basically "this will only happen in these two titles because they're the only mantle titles out before Tonga" doesn't inspire much confidence considering that the landscape will be completely different when many more games are out.

Also worth pointing out is that the responsibility for updating the games to support a specific GPU is being put on the developers. EA, etc. are in a position decide whether they actually fully support a new GPU or not in older titles. And this is with only a few mantle supported games and GPUs. What will happen in some years with dozens of games and GPUs? Do people honestly think that publishers will green light the effort to patch in support for some obscure, low marketshare GPUs for older games?

It's an issue, and at least personally I'm not really sure what the solution is.
 
It is very worrying if Mantle games have to be continually optimised to support new cards properly. Same problem on Android where developers have to keep updating old games to maintain compatibility with new GPUs because of all of the driver quirks.
 
This would appear to be the other side of the coin as far as developers and mantle go.

Developers have the ball constantly in their court, if they stop caring the new cards don't get the perf from mantle they should.

It's one of those things where only time will tell.

Serious question though....can amd force anything driver side to counter a lazy developer?
 
Yea the issue is certainly a shame, but luckily people can just use whichever's better performance: Mantle perform better- use Mantle; DX perform better- use DX :p

Having Mantle as option doesn't stop the user from using DX :)

I guess it might be too late to get decent Mantle performance for 285 on BF4 and Thief and both are ships no sailed, but for future titles that are yet to be released, they most probably wouldn't have this problem.
 
Last edited:
i thought the whole point of having GCN is to avoid this, sure that you can't count on developer patching a game few years down the road for new hardware; again the whole point of GCN.
 
The problem is publishers. The Devs want the game to run and look good but the publishers are so bad for deadlines, I just fail to see how they can put all the time and effort into back tracking.
 
Developers have the ball constantly in their court, if they stop caring the new cards don't get the perf from mantle they should.

Here's the thing though. This isn't an issue on DX11 for example.

Problems like these are exactly the stuff that higher level, industry standard APIs for 3d graphics were made to solve. Having to provide individual support and patches for individual GPUs and CPUs is the mess that we got away from due to DX etc.

And if this continues to be a problem then why develop for mantle in the first place if (without future patches) your mantle implementation as a developer will only offer good performance for current GPUs, and not future ones? Why would I now develop a mantle game if it can't without patching for each new GPU offer good performance for anything but Tahiti, Bonaire, Hawaii etc.?
 
Last edited:
AMD could put a clause into the Gaming Evolved agreement stating that the developer must support continued Mantle support for new cards for X amount of time and then hope that by then hardware had advanced sufficiently that DX can give high enough performance that Mantle is not really needed. Although this might not work in every situation and I can't see it being very popular with some devs / publishers.
 
Last edited:
The problem is publishers. The Devs want the game to run and look good but the publishers are so bad for deadlines, I just fail to see how they can put all the time and effort into back tracking.
I honestly don't see this being too big of an issue, considering it basically only occur when the game is released before the graphic card itself?

So basically so long as the game is newer than the card, then there would be no problem and it would be a non-issue wouldn't it?
 
I honestly don't see this being too big of an issue, considering it basically only occur when the game is released before the graphic card itself? So basically so long as the game is newer than the card, then it would be a non-issue wouldn't it?

So once AMD launches Fiji for example all the buyers will be screwed as far as performance in previous Mantle games goes?

Only mantle games launched after the GPU will perform well, and in the previous titles the new cards wont have an optimal d3d11 path either because AMD will not have optimized for that as much as they would have without mantle.
 
TBH i hope this isnt going to be a ongoing issue for Mantle and possibly DX12 when it comes out as i cant see game Devs constantly releasing patchs for games as a new card comes out.
@shankly i thought mantle just works. Eg Amd doesnt release new drivers its at the devs end?
 
Only mantle games launched after the GPU will perform well, and in the previous titles the new cards wont have an optimal d3d11 path either because AMD will not have optimized for that as much as they would have without mantle.
That's just your assumption not fact. Start worrying only if and when AMD cards can't hold its own against Nvidia card on dx performance- now is too soon to tell, as I don't see AMD being uncompetitive against Nvidia yet on dx performance.
 
I honestly don't see this being too big of an issue, considering it basically only occur when the game is released before the graphic card itself?

So basically so long as the game is newer than the card, then there would be no problem and it would be a non-issue wouldn't it?

Well, Mantle isn't out of Beta and we have new cards and will they code for these new cards in Thief/BF4/Plants Vs Zombies? Then the next cards will be coming and again, will they revisit these and code the new cards? I feel for the Devs when they have massively strict deadlines to adhere to and I am sure 95% of them want their game to run and look sweet but just don't have the resources to do it.
 
TBH i hope this isnt going to be a ongoing issue for Mantle and possibly DX12 when it comes out as i cant see game Devs constantly releasing patchs for games as a new card comes out.
@shankly i thought mantle just works. Eg Amd doesnt release new drivers its at the devs end?

That is true far as we know. But I do also remember when thief got mantle support they was also a driver update. Same with BF4 when amd released about 7000 series not working etc
So it looks like drivers do still play some part in mantle support.

Guess time will tell.
 
May be they should have included GTX760's dx performance in the bar chart as well comparing to 285's dx performance? Then it might put things in better perspective.

I mean if card perform worse on old games using Mantle, then just use dx instead and problem solved?
 
Last edited:
May be they should have included GTX760's dx performance in the bar chart as well comparing to 285's dx performance? Then it might put things in better perspective.

I mean if card perform worse on old games using Mantle, then just use dx instead and problem solved?

0b74123a8610426a8dee7ba153d725d8.jpg


They did for BF4.
 
Good find Alatar.




If future AMD gpu's require dev support at a later date, then that's a massive Mantle negative as it simply won't happen.

I'm realistic(assuming AMD have paid for Mantle title integration in some way), can't see them bankrolling future gpu integration into older titles in any shape or form.

I'll see what transpires in hard facts though instead of going down the negative vocal spin route, I can toggle Mantle/DX just fine.:p
 
So is the argument now that if Mantle doesn't work we go back to DX?
Wasn't DX getting slated as being evil and holding back performance and being the worst thing ever as Microsoft only care about consoles? And now all of a sudden Mantle is OK because you can still use DX instead?

That seems like a rubbish way to push and API, telling everyone they can just use the competing API so it's all fine!
 
Back
Top Bottom