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

Investigating The Frostbite Mantle Implementation

Caporegime
Joined
12 Jul 2007
Posts
43,739
Location
United Kingdom
I see a lot of users complaining that their AMD gpu does not support Mantle, or does not work properly with Battlefield 4 + Mantle and that only the 290 series have proper Mantle support. These AMD gpu's are typically GCN 1.0 gpu's. The Tahiti, PitCairns and Cape Verde's of this world or as most better know them the 7000/280/270/260 series.

As you will all know I'm passionate about Mantle. I post about it enough here, however i cannot support these complaints. These complaints are not true and I've discovered what the problem is. It's not Mantles fault and It's not AMD's fault. The problem lies with Mantle’s implementation in the Frostbite engine. Who is responsible for this engine implementation? That would be Johan Andersson/Dice.

The problem is Mantle uses a lot of vram and it keeps going up the longer you play. This is a big problem for people with memory lower than 3gb per card and it even affects some 3gb users too. This is not a Mantle problem, this does not occur on Thief or Starswarm. This is an application issue and the responsibility to fix it lies solely at the feet of Johan Andersson/Dice/EA.

I have spent time testing Battlefield 4, Battlefield Hardline and Plants Vs Zombies on a 290 4GB crossfire setup and a HD7770 1GB setup. Everything runs perfectly on the 290 setup, but on the 7770 setup i find myself running out of vram on every title unless i use low-medium settings. Even on low settings i sometimes exceed the limit and this results in performance dropping off a cliff as system memory is used for texture fetching. It also appears that after each round is over, Frostbites Mantle implementation does not empty the vram unlike DX.

My message to Johan Andersson/Dice/EA is as follows. You've done a truly wonderful thing implementing the Mantle renderer into the Frostbite engine. For the large part it runs unbelievable well, to the point that sometimes I'm not even sure if im playing the same game i played previously under DX11. However your job is not finished, there is still work to be done. You absolutely must redesign the memory management. It's the achilles heel of the best API I've ever used. I see a slide here where you say you're considering doing this, what happened to this? Have you given up with a job part done? Why not smooth off the edges of your masterpiece?

btTb7lt.jpg.png
I'm interested to hear from AMD Mantle users and what they think. Do you have any data that highlights the vram issues under the Frostbite Mantle implementation? Do you think this should be fixed? Do you think it's acceptable that the one problem Mantle has under the Frostbite engine has not been addressed yet? Post your support here and lets see if we can get something done about this to benefit AMD users with lower specced gpu's who use Mantle under the Frostbite engine.
 
Last edited:
Yeah, this is the 2nd biggest issue I have with Mantle on BF4.
I've said this enough and constantly get called an AMD hater and told to buy Nvidia cards any time I mention it. I think it's a pity as I definitely got better FPS using Mantle. I don't notice the smoothness increase everyone else mentions and I've not noticed and improvement in the IQ or any extra effects or anything that isn't in the DX implementation. But still, I'd use it for the FPS increase alone.

Well, I would've. I think BF4 has bigger issues than a slightly flawed Mantle implementation. My opinion is to let BF4 (and possibly Frostbite 3?) die and move on to the next thing where they implement Mantle from the outset and really use Mantle to add extra IQ setting that can't be achieved with DirectX and really show what can be done.
 
Yeah, this is the 2nd biggest issue I have with Mantle on BF4.
I've said this enough and constantly get called an AMD hater and told to buy Nvidia cards any time I mention it. I think it's a pity as I definitely got better FPS using Mantle. I don't notice the smoothness increase everyone else mentions and I've not noticed and improvement in the IQ or any extra effects or anything that isn't in the DX implementation. But still, I'd use it for the FPS increase alone.

Well, I would've. I think BF4 has bigger issues than a slightly flawed Mantle implementation. My opinion is to let BF4 (and possibly Frostbite 3?) die and move on to the next thing where they implement Mantle from the outset and really use Mantle to add extra IQ setting that can't be achieved with DirectX and really show what can be done.

I welcome your feedback over this GM. It's important than this gets discussed and fixed. It's also a bit unfair to see AMD labelled with the blame when there is nothing they can do to improve vram usage under the frostbite engine when using Mantle. It is an application issue!
 
BF4 is pretty much a lost cause tbh, there are plenty of minor but extremely frustrating issues with it like getting stuck or blocked by small objects, random KIAs, etc. etc. that have never been fixed never mind something like Mantle getting some dev time :S
 
I welcome your feedback over this GM. It's important than this gets discussed and fixed. It's also a bit unfair to see AMD labelled with the blame when there is nothing they can do to improve vram usage under the frostbite engine when using Mantle. It is an application issue!

I don't believe I blamed it on 'Mantle', I think I have said something like 'Mantle in BF4' (although 'Mantle in Frostbite would probably be more accurate).

Initially though it may have been harder to identify as BF4 was the only Mantle title. And even after Thief and Star Swarm I believe it was the only one that (eventually) got an overlay that would display the VRAM usage.

So if BF4 normally sat at ~2700MB in DirectX and then went to ~3100MB in Mantle, that wouldn't tell you much. It's only if Thief/Star-Swarm sat at ~2700MB in DirectX and ~2700MB or less in Mantle that you could say it was the implementation. If Thief used ~1500MB in DirectX and ~2200MB in Mantle then it would be showing the same behaviour, just that it wouldn't breach the 3GB VRAM limit to cause ill effects.
 
I don't believe I blamed it on 'Mantle', I think I have said something like 'Mantle in BF4' (although 'Mantle in Frostbite would probably be more accurate).

Initially though it may have been harder to identify as BF4 was the only Mantle title. And even after Thief and Star Swarm I believe it was the only one that (eventually) got an overlay that would display the VRAM usage.

So if BF4 normally sat at ~2700MB in DirectX and then went to ~3100MB in Mantle, that wouldn't tell you much. It's only if Thief/Star-Swarm sat at ~2700MB in DirectX and ~2700MB or less in Mantle that you could say it was the implementation. If Thief used ~1500MB in DirectX and ~2200MB in Mantle then it would be showing the same behaviour, just that it wouldn't breach the 3GB VRAM limit to cause ill effects.

Yes i was not talking about you specifically, but people in general. They wonder why Mantle stutters or does not work perfectly and assume (understandably so) that it is all AMD's fault when in reality it could not be further from the truth. I just want this fixed, so we all benefit.

Yes, the problem with Johans/Dices implementation is that vram usage keeps going up. In Thief this does not happen.
 
Yes i was not talking about you specifically, but people in general. They wonder why Mantle stutters or does not work perfectly and assume (understandably so) that it is all AMD's fault when in reality it could not be further from the truth. I just want this fixed, so we all benefit.

Yes, the problem with Johans/Dices implementation is that vram usage keeps going up. In Thief this does not happen.

Out of interest, with your testing, can you post screenshots to show memory usage in Thief, Star Swarm and PvZ? (I realise that's a lot of work, but you've nothing better to do, right? :))
 
BF4 is pretty much a lost cause tbh, there are plenty of minor but extremely frustrating issues with it like getting stuck or blocked by small objects, random KIAs, etc. etc. that have never been fixed never mind something like Mantle getting some dev time :S
All issues that were and are still present in earlier frostbite games such as bfbc2 and bf3. Theese were never properly fixed either. Dice just moved onto the next game. No API can ever solve the problem of lazy development/design.
 
All issues that were and are still present in earlier frostbite games such as bfbc2 and bf3. Theese were never properly fixed either. Dice just moved onto the next game. No API can ever solve the problem of lazy development/design.

And in this case the implementation of the API requires more effort from the developers (as I understand it), so it didn't really bode well did it?
 
it not emptying the vram sounds like a rather massive flaw
id be suprised if it was that dramatic

i mean i dont think 1gb was enough long before mantle
i guess yeh depended a lot on which game
bf4 has huge maps
only other game ive played with big maps like that was tribes ascend

not played plants v's zombies yet..
 
People just need to remember, the game was written and designed solely for DX11, it was ported to Mantle and well, but some of the underlying systems they used were designed based on what they needed to work with DX11, that won't necessarily mean everything works well with Mantle, or any other API.

In the future games will factor in those decisions earlier in the cycle. Dice will make a memory management system that factors that in for future games, may have done so already. Often there is too much work to do on a completed(to some degree) title, because ultimately rewriting the memory management for the next game is the same work, except all the testing is still to be done on the next game, every fix for BF4 based on the existing code may be effected by changing it in BF4. They could do it, but you'd find most companies wouldn't.

No one bought BF4 because it was a Mantle game, it's a beta project for Dice, and they'll use the experience to refine it for future games but it doesn't mean that work can be thrown into BF4 without creating a bunch of new problems.

The slide linked in the OP was shown a very long time ago, Dice took responsibility for the issue themselves and people still blamed AMD.

It's why Mantle is in beta and while I've seen Mantle support shown in games, it's not a main marketing feature yet, Mantle is in beta and game dev's are adding it to frankly get experience with it. There will be fewer and fewer issues into the future, as with every API I could think of.
 
Out of interest, with your testing, can you post screenshots to show memory usage in Thief, Star Swarm and PvZ? (I realise that's a lot of work, but you've nothing better to do, right? :))

Certainly i will do this, but i can't do it in PvZ as there is no console command currently. I've spoke to the dev on twitter who said they're considering adding it in a patch though. :)

EDIT

I suppose i could take a picture with my camera mind, so ill do that. Not sure if anyone will be able to read the small green writing though. :p
 
Used to run out of vram in bf4 on my 7990 in mantle at 5760x1080. Was most obvious when muzzle flashes or shell impacts were going off when I was in a tank, game almost ground to a halt.
 
I'm so so close to requesting a refund for BF4!!! BF3 is a far superior game.

On the other hand this is a massive **** up!!!
 
Certainly i will do this, but i can't do it in PvZ as there is no console command currently. I've spoke to the dev on twitter who said they're considering adding it in a patch though. :)

EDIT

I suppose i could take a picture with my camera mind, so ill do that. Not sure if anyone will be able to read the small green writing though. :p

Can you not just set gpuz to display 'max' on vram usage then run the game>upload screenshot of gpuz?
 
BF4 is pretty much a lost cause tbh, there are plenty of minor but extremely frustrating issues with it like getting stuck or blocked by small objects, random KIAs, etc. etc. that have never been fixed never mind something like Mantle getting some dev time :S


Not again no no no no no :mad:


I bought BF3+ Premium and that happened. Getting into a tank had yellow urine shader stain all over the windscreen! Then they launch BF4 and i take the risk again. Thats £120 on two games not fixed! And now there is talk of upping the game to 30hz tickrate.

Hardline is where they will spend thier time i am hoping to see BF4 refined and sit for a year or two until a new version like WW2 comes out. I swear if they dump BF4 for BF5 there will be blood on the streets. Infact i cannot comprehend it atm due to the amount of hate mail, lawsuits and general crap that would fly out to EA.
 
People just need to remember, the game was written and designed solely for DX11, it was ported to Mantle and well, but some of the underlying systems they used were designed based on what they needed to work with DX11, that won't necessarily mean everything works well with Mantle, or any other API.

In the future games will factor in those decisions earlier in the cycle. Dice will make a memory management system that factors that in for future games, may have done so already. Often there is too much work to do on a completed(to some degree) title, because ultimately rewriting the memory management for the next game is the same work, except all the testing is still to be done on the next game, every fix for BF4 based on the existing code may be effected by changing it in BF4. They could do it, but you'd find most companies wouldn't.

No one bought BF4 because it was a Mantle game, it's a beta project for Dice, and they'll use the experience to refine it for future games but it doesn't mean that work can be thrown into BF4 without creating a bunch of new problems.

The slide linked in the OP was shown a very long time ago, Dice took responsibility for the issue themselves and people still blamed AMD.

It's why Mantle is in beta and while I've seen Mantle support shown in games, it's not a main marketing feature yet, Mantle is in beta and game dev's are adding it to frankly get experience with it. There will be fewer and fewer issues into the future, as with every API I could think of.

Like BF Hardline or PvZ: Garden Warfare?
Unless I mis-read LtMatt's post he said they do it too.
 
Back
Top Bottom