Battlefield 4 Patch 2/13/2014 with Mantle improvements

Page 6 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.
Status
Not open for further replies.

cytg111

Lifer
Mar 17, 2008
25,661
15,160
136
They still have to write tons of code and all that code the dev's create can have errors, but using low level code just multiplies the amount of code you have when dealing with the graphics engine, which will allow for more errors.

I think thats an fair assumption, adopting to a lowlevel api means more code on your part. Fact is that code has errors, so more code == more errors.
On the other end of the scale you have the "2 months" argument, however is that because you have an analog directx implementation to "copy/optimize" or otherwise?
IMO too soon to answer but in the end, more code equals more errors which means more $$'ers ... All part of the very big and very complex equation "Is it worth it?".
 

cytg111

Lifer
Mar 17, 2008
25,661
15,160
136
Console games are less buggy that is for sure, but it also depends on the Dev, Blizzard and valve games are very stable on any platform and Bethesda games are buggy no matter the game.

Dan baker mentioned that the mantle build of their Engine had less lines of code than their D3D build.

Consoles are like a devs wet dreams.. One hardware build to code for and one alone. Damn.
 

Despoiler

Golden Member
Nov 10, 2007
1,968
773
136
Console games are less buggy that is for sure, but it also depends on the Dev, Blizzard and valve games are very stable on any platform and Bethesda games are buggy no matter the game.

Dan baker mentioned that the mantle build of their Engine had less lines of code than their D3D build.

Yah he said 3-4K lines. That is nothing in the grand scheme of coding.

Also, Mantle isn't a to the metal low-level API. It's more of mid-level that is lower than DX.

http://www.maximumpc.com/AMD_Mantle_Interview_2014
 

krumme

Diamond Member
Oct 9, 2009
5,956
1,595
136
Yah he said 3-4K lines. That is nothing in the grand scheme of coding.

Also, Mantle isn't a to the metal low-level API. It's more of mid-level that is lower than DX.

http://www.maximumpc.com/AMD_Mantle_Interview_2014

Thanx. Nice interview with Dan.

" Maximum PC: Do you see a world where developers will have to write for DX and Mantle? How much of a challenge is it to write for both APIs?

Baker: APIs come and go. Once you support more than one, it's pretty easy to support a dozen..."
 

bystander36

Diamond Member
Apr 1, 2013
5,154
132
106
Thanx. Nice interview with Dan.

" Maximum PC: Do you see a world where developers will have to write for DX and Mantle? How much of a challenge is it to write for both APIs?

Baker: APIs come and go. Once you support more than one, it's pretty easy to support a dozen..."

That's an interesting response, given that the unanimous thought on Nvidia also adding a new API is thought to be a horrible idea.
 

Headfoot

Diamond Member
Feb 28, 2008
4,444
641
126
Considering there hasn't been a lower level coding API than DX in general use how do you assume that?

Untrue

This whole discussion absolutely must be informed by the fact that low-level multiplatform game programming has been the norm since 2005 when the Xbox 360 came out, and was implemented by forward thinking and rich developers even earlier than that.

Low level API game design is not new at all. It's almost 10 years mainstream now, especially considering game devs spend considerably more time optimizing for console than PC as a general rule.

Now, it is new (reintroduced) to PC, and the ways in which Mantle differs from the consoles APIs are new as well. So there is definitely some new surface area to explore, but the fundamental architecture questions have been long answered. The differences will be in the peculiarities of the implementation and the underlying hardware.
 

Headfoot

Diamond Member
Feb 28, 2008
4,444
641
126
Thanx. Nice interview with Dan.

" Maximum PC: Do you see a world where developers will have to write for DX and Mantle? How much of a challenge is it to write for both APIs?

Baker: APIs come and go. Once you support more than one, it's pretty easy to support a dozen..."

This partial quote completely changes what he actually says:

"APIs come and go. Once you support more than one, it's pretty easy to support a dozen–assuming there is parity in the hardware features, and assuming you don't have to rewrite your shaders in an entirely different language"

Now, it does not change the final calculus re: Mantle, because Mantle specifically uses the same shader language for this exact purpose. Further, GCN is in the consoles giving parity on the GPU hardware level as well. That's why Mantle is uniquely situated as a good first push into a re-architected games/graphics API.

The real fear is that there WONT BE parity in the hardware. nVidia might go the integrated processor on GPU route, PS3 uses the SPU array, WiiU and Xbox One to a much lesser extent uses a plethora of fixed function hardware. This is the reason that DirectX requires certain hardware features, and why graphics cards will be DX11 capable or not (for example). The biggest market chunk you can lump together as using more-or-less the same hardware is now Xbox One/PC/PS4, and excludes the Wii, WiiU, Xbox360, PS3 and importantly the mobile market. The situation no longer exists where there is one single powerful player who can dictate the API by reason of massive marketshare (i.e. MS). AMD's market share here is fairly substantial but its no 90+% like the hayday of Windows. I think it will result eventually in all relevant APIs moving closer to the hardware rather than any one "winning"

Regarding this latest patch to BF4, I think we can see there are some time to market benefits of giving the control (and responsibility) of more tasks to the game developer. The game dev does not have to ensure that a driver will work across hundreds of games, just one. Thus we see a bi-weekly patch encompassing some functionality that used to be confined to monthly or longer driver patches
 
Last edited:

PPB

Golden Member
Jul 5, 2013
1,118
168
106
Deploying PC only patches is easier tho, thats why they can patch more frequently. I hope this allows for more in-between-DLC patches than on bf3. Lots of stuff still to balance and fix.
 

Headfoot

Diamond Member
Feb 28, 2008
4,444
641
126
Reporting back. I'm getting the same stuttering as I did with the prior patch that some are reporting is gone. I'm still seeing it, though it seems different somehow in a way that I can't describe
 

Will Robinson

Golden Member
Dec 19, 2009
1,408
0
0
Untrue

This whole discussion absolutely must be informed by the fact that low-level multiplatform game programming has been the norm since 2005 when the Xbox 360 came out, and was implemented by forward thinking and rich developers even earlier than that.

Low level API game design is not new at all. It's almost 10 years mainstream now, especially considering game devs spend considerably more time optimizing for console than PC as a general rule.

Now, it is new (reintroduced) to PC, and the ways in which Mantle differs from the consoles APIs are new as well. So there is definitely some new surface area to explore, but the fundamental architecture questions have been long answered. The differences will be in the peculiarities of the implementation and the underlying hardware.
Oh I'm sorry...I didn't know the previous consoles used the Direct X API:rolleyes:
 

krumme

Diamond Member
Oct 9, 2009
5,956
1,595
136
That's an interesting response, given that the unanimous thought on Nvidia also adding a new API is thought to be a horrible idea.

I dont think its a bad idea. If we look at Dan argument it makes sense:

"there is parity in the hardware features, and assuming you don't have to rewrite your shaders in an entirely different language. If you release a title right now, you would end up with likely six paths. An Xbox360, a PS3, a PS4, a Xbox One, a DX9, and a DX11. For us, the graphics system is just a module that talks to the API. All we did for Mantle was replace the D3D module with a Mantle one. It's about 3,000 to 4,000 lines of code for the Mantle version, which took me personally about two months to write. In terms of support, at least for us, it wasn't terribly difficult."

Obviously when we have just a fraction of engines today compared to 10 years ago, the optimal balance of numbers of paths can go up because optimizing for performancegames is cheaper with a more simple API like Mantle. I think we have to change the wording from low level api to simplicity. Its an elegant API. Ofcource its impossible to keep DX this simple and elegant.
 
Last edited:

sontin

Diamond Member
Sep 12, 2011
3,273
149
106
So if it was so easy to support more APIs why is there no support for OpenGL 4.4 and all these new ARB_Extensions?
 

krumme

Diamond Member
Oct 9, 2009
5,956
1,595
136
This partial quote completely changes what he actually says:

"APIs come and go. Once you support more than one, it's pretty easy to support a dozen–assuming there is parity in the hardware features, and assuming you don't have to rewrite your shaders in an entirely different language"

Now, it does not change the final calculus re: Mantle, because Mantle specifically uses the same shader language for this exact purpose. Further, GCN is in the consoles giving parity on the GPU hardware level as well. That's why Mantle is uniquely situated as a good first push into a re-architected games/graphics API.

The real fear is that there WONT BE parity in the hardware. nVidia might go the integrated processor on GPU route, PS3 uses the SPU array, WiiU and Xbox One to a much lesser extent uses a plethora of fixed function hardware. This is the reason that DirectX requires certain hardware features, and why graphics cards will be DX11 capable or not (for example). The biggest market chunk you can lump together as using more-or-less the same hardware is now Xbox One/PC/PS4, and excludes the Wii, WiiU, Xbox360, PS3 and importantly the mobile market. The situation no longer exists where there is one single powerful player who can dictate the API by reason of massive marketshare (i.e. MS). AMD's market share here is fairly substantial but its no 90+% like the hayday of Windows. I think it will result eventually in all relevant APIs moving closer to the hardware rather than any one "winning"

Regarding this latest patch to BF4, I think we can see there are some time to market benefits of giving the control (and responsibility) of more tasks to the game developer. The game dev does not have to ensure that a driver will work across hundreds of games, just one. Thus we see a bi-weekly patch encompassing some functionality that used to be confined to monthly or longer driver patches

I think its a wrong interpretation as show by my quote above.

"For us, the graphics system is just a module that talks to the API. "

As i know mantle API (not driver obviously) is fairly hardware independant as long as the hardware support some basic features. They are probably present in kepler or at least will in Maxwell. Unfortuantely to what degree is still undisclosed as i know it.
 
Last edited:

krumme

Diamond Member
Oct 9, 2009
5,956
1,595
136
So if it was so easy to support more APIs why is there no support for OpenGL 4.4 and all these new ARB_Extensions?

Its a good question and i think Dan answered it here:

"Maximum PC: Does OpenGL face the same limitations? It’s also a pretty old API at this point.

Baker: OpenGL has essentially all the core problems of D3D, except that one can add extensions to it. The main difference between OpenGL and D3D is that D3D made an attempt to be threaded, and failed, whereas OpenGL has not yet attempted it. One question is whether it is worth building a new API or making a bunch of extensions to an existing API. You can get some mileage out of making extensions, but extensions can't bridge things like being able to use multiple CPUs. Also, at some point it's cleaner and easier just to hit the reset button, rather than throw yet another feature in a fairly big API. Believe it or not, Mantle is actually easier to support than OpenGL. OpenGL has many unobvious pitfalls and traps, whereas Mantle really doesn't. "
 

sontin

Diamond Member
Sep 12, 2011
3,273
149
106
So its harder to support OpenGL than Mantle. Okay.
But why is there no support for it when it is so easy to support different APIs?
 

krumme

Diamond Member
Oct 9, 2009
5,956
1,595
136
Reporting back. I'm getting the same stuttering as I did with the prior patch that some are reporting is gone. I'm still seeing it, though it seems different somehow in a way that I can't describe

We have a 7850 1G that looks to still makes stuttering, but a 7970 does look to do it fine after the patch (or at least its a very seldom problem here).

Its a little difficult to know if its server lagging or some lagging but my take on it is the 7850 1g still have problems. If you run on high fps, Mantle is really smooth compared to dx, so when there is problems they are also more easy to feel.
 

krumme

Diamond Member
Oct 9, 2009
5,956
1,595
136
OpenGL 4.4 offers much more ways to improve the draw calls situation over DX and OpenGL 4.3:
https://www.youtube.com/watch?featu...ist=PLckFgM6dUP2hc4iy-IdKFtqR9TeZWMPjm#t=1678

OK. But aparently its not worth the effort for the dev. Its always a cost/benefit decision. Otherwice we would have seen it on RTS if it gave something unique on the market. Oxide decided to primarily optimize for DX. The engine is build to modern DX.
"Believe it or not, Mantle is actually easier to support than OpenGL. OpenGL has many unobvious pitfalls and traps, whereas Mantle really doesn't"
Still does not support multiple cpu acording to Dan.
 

bystander36

Diamond Member
Apr 1, 2013
5,154
132
106
The fact that all these dev's at the conferences think the idea of Nvidia coming up with their own API as a horrible idea for the industry makes me not take that comment at face value. He clearly wants Mantle to succeed, and he is trying his best to show it in the best light possible and exaggerating a little in the process. If he truly believed what he said, he would support Nvidia doing the same.
 

krumme

Diamond Member
Oct 9, 2009
5,956
1,595
136
The fact that all these dev's at the conferences think the idea of Nvidia coming up with their own API as a horrible idea for the industry makes me not take that comment at face value. He clearly wants Mantle to succeed, and he is trying his best to show it in the best light possible and exaggerating a little in the process. If he truly believed what he said, he would support Nvidia doing the same.

What dev are you talking about? where is the documentation? The only thing i remember remotely in that direction from apu13 was Johan saying it would be better if Mantle was open and nv to support it. No shit. Ofcourse he wants that. Its you spinning this into Devs and "Horrible".

Dans arguments makes perfect sense. Try and give some counter arguments to it?

And ofcource he is going to use mantle because his business is RTS games. Mantle enables a new level on RTS and that mean more sold RTS . Especially for the ones first adopting the technology. That train have left the station. And everyone and his brother making engines for future RTS is going to do the same or they will be left in the dust. They are forced to implement it. The choice have been made by Oxide. The question is, if RTS is a big enough market to make an lower level api interesting beyond the scope of that - i guess - relatively tiny market.
 

stahlhart

Super Moderator Graphics Cards
Dec 21, 2010
4,273
77
91
We are all done arguing about Mantle in this forum. Get back on topic, or this thread will be locked.
-- stahlhart
 

Paul98

Diamond Member
Jan 31, 2010
3,732
199
106
Hopefully AMD comes out with an updated driver soon, and dice comes out with it's next update. I am down to few stutters, and few crashes, but they still happen. DirectX doesn't have the stutter and not as many crashes as mantle. One more good update and mantle should work well enough for me to switch over full time.
 
Status
Not open for further replies.