AMD's Mantle API Gives Devs Direct Hardware Control

Page 3 - Seeking answers? Join the Tom's Hardware community: where nearly two million members share solutions and discuss the latest tech.
Status
Not open for further replies.

Kewlx25

Distinguished
Mantle is for GCN only the same way x86 is only for Intel. Nvidia can also implement the API, and from what I understand, Nvidia has virtually the same features, so it's just a matter of Nvidia coding the API.
 

InvalidError

Titan
Moderator

It won't fragment it significantly more than it already is:
- past consoles already used non-standard graphics APIs and proprietary tweaks so Mantle is somewhat of a blessing here by bringing a common GPU architecture and low-level API across consoles and PCs with GCN graphics. This actually reduces fragmentation: instead of having to rewrite large chunks of their graphics engine to port to PC, now console developers have at least one PC setup where they re-use console code practically as-is
- developers who want to support non-GCN graphics on PCs can still do so with DXn and OGL exactly how it has always been and likely will continue to be
- developers who do not care about consoles can also opt for DXn or OGL and ignore Mantle altogether as if it did not exist, which is exactly what they have been doing up to now

So, the only thing that changes is that console developers now have the option of running practically the same code across both consoles and PCs. There is also the possibility that some of them might choose to do GCN-only PC ports instead of bothering with rewriting their graphics pipeline for DXn or OGL.but that could turn into a PR nightmare.
 

mynith

Distinguished
Jan 3, 2012
133
0
18,680
9 times less CPU overhead is a nice figure, but I don't think the driver needed that much CPU power to translate OpenGL into native calls anyway, so I'm not sure it matters too much, really.
 

InvalidError

Titan
Moderator

An easy way to get a rough idea: enable "Show Kernel Time" in Task Manager and see what proportion of CPU time gets spent in user-land vs kernel/drivers.

I don't have any OGL games to test OGL overhead with but with the DX games I have open right now, I see 20-25% time spent in kernel-space. I imagine reducing this to 3-5% would help a fair bit assuming most of it is elimination of middleware transformations, context switches, kernel lock waiting, busy-waiting, etc. instead of merely shifting workload from kernel-space to user-space.
 

InvalidError

Titan
Moderator

What is there to disable? General-purpose benchmarks should simply NOT implement Mantle support in the first place to remain general.

Game benchmarks usually need to be representative of how people will actually play the game and I have a hard time imagining people playing with Mantle disabled if their GPU supports it so there is no getting away from including Mantle benchmarks on games that support it. Running all GPUs in DX or OGL might be nice for comparative purposes but it is the end-result that truly matters.

There is another catch: developers who support Mantle would likely focus their DX/OGL optimizations on non-GCN GPUs since people with GCN will be expected to use Mantle instead so GCN DX/OGL performance may be handicapped (unoptimized) in Mantle titles.

Whichever way you slice it, someone is likely to end up having an "unfair advantage" of some sort.
 


So why do AMD user get all up in arms about PhysX then?
 

InvalidError

Titan
Moderator

Probably because PhysX is a relatively high level API that actually could be adapted to individual vendors' GPU architectures if Nvidia wanted to license it to its competitors for a price they could all live with. One of the worst pages in PhysX's history is the time where Nvidia disabled GPU-based PhysX if non-Nvidia GPUs were detected in the system. Imagine how happy people with a HD6970 were when the GT4xx/5xx they added for PhysX refused to work due to PhysX detecting AMD GPUs in the system.

Another thing is that PhysX interest is not uniform even across Nvidia's own fan base since not everyone wants to sacrifice FPS for physics-based eye-candy and clutter.

On the other hand, Mantle is something AMD can do mainly because they happened to nail all major next-gen console graphics contracts using the same GPU architecture and that puts them in a unique position to offer the same low-level API across multiple high-profile platforms. Console developers are used to having lower-level access to hardware to push the boundaries of what is possible on a given platform so AMD would have had to provide ways to do it anyway. Might as well capitalize on that.

The benefits of PhysX are a lot more disputable than the benefits of Mantle and Mantle probably won't have much of a life outside games that get backported from consoles since PC game developers likely won't feel like optimizing both a DX or OGL back-end and a Mantle one specifically for GCN-based GPUs. Forcing Mantle-based console backports to use DX/OGL when Mantle is available might end up feeling like driving a race car with the handbrake on.
 


Nice bit of text but it doesn't stop the fact that AMD users get upset when a PhysX game is benched does it?
 
one think i can understand is this mantle should offer better performance compared to directx or opengl. it is useful for demanding games. but what about other games that are much less depending where even with dx11 alone should be able to give user high performance they needed. the thing is to implement both mantle and directx/opengl path it will going to cost developer time and money. for example just look the game that available now. how many developer develop their games for to support DX9,10 and 11 at once? even big developer like crytek only supporting dx9 and dx11 for their games and skip dx10 altogether for their crysis 2 & 3.
 

InvalidError

Titan
Moderator

From a graphics benchmarking viewpoint, PhysX does bastardize results by putting non-graphics load on Nvidia GPUs which should actually be a handicap instead of an advantage for Nvidia.

I don't remember reading anything about AMD users being upset about that.
 


No, we must be looking at different versions of this forum then.
 

InvalidError

Titan
Moderator

You are looking at it from the PC game developer's point of view. For PC-only developers, Mantle makes little to no sense since Nvidia has a larger market share.

Think about it from the console developer's side of things: DirectX does not exist on the PS4. OpenGL does not exist on the XBOne. Mantle exists on BOTH and PCs with GCN graphics, which makes it the logical choice for a console developer who wants to do multi-platform releases since he nails both major consoles and about a third of the PC market with one single high-performance API with little to no platform-specific tweaking between ports.
 


when i mention that i look it from the dev that want to port their title from console to pc. when talking Mantle from pc point of perspective the game either run on DirectX/OpenGL or run the game natively on Mantle API. does the game on Xbone and PS4 run natively on Mantle or DirectX/OpenGL? AFAIK Mantle is to give game develop on PC the low level access that console usually get. but even with direct-to-metal expose they (game dev) still code their game on DirectX for MS console and OpenGL for Sony console. so with the new console will MS and Sony let the developer to code their game with Mantle API instead of using DirectX/OpenGL like they use to?

 

InvalidError

Titan
Moderator

Consoles have a long history of developers bypassing chunks of standard APIs to wring more performance out of the console's limited hardware resources and that makes Mantle much more significant on consoles than PCs..

There would be no point in bringing Mantle to PCs if it weren't to support back-ports from consoles: Nvidia and Intel have bigger GPU/IGP market shares than AMD so PC-centric game developers cannot afford to waste their development time on a one-horse minority API. If PC game developers liked spending development resources on supporting multiple APIs, it wouldn't have taken Microsoft nearly 10 years to convince them to fully commit to DX10 instead of sticking to DX9 as their baseline and games that support both DX and OGL wouldn't be practically extinct.

PC game developers generally want to stick to one single 3D API - preferably the one with the broadest hardware compatibility that meets their minimum requirement. This design consideration does not exist on consoles, which makes picking the console's GPU-vendor-specific API a lot easier - particularly if it spares them the trouble of using API hacks to access the hardware more efficiently to get the performance numbers they need.
 


"there's talk that mantle is open source". You obviously didnt read all the other articles around the web, its not open source, its for GCN only. Even if AMD change their gpu architecture away from GCN, it will not work, unless they release a new version of mantle, and it wont be backward compatible, unless the game itself is patched to support a new gpu arch. This Mantle is BS it's just like Glide, and people/devs didn't like that. I hope Mantle ends up the same way, i want to have a choice as to what hardware i buy. I've had plenty of AMD/ATI hardware in the past, more so than intel and nvidia. I will not buy AMD hardware based on this marketing stunt.
 

You well know that I am an AMD fan and I think Mantle is a lousy idea.
 

InvalidError

Titan
Moderator

There is one big difference between Glide and Mantle: Mantle will likely ship on on more Microsoft and Sony consoles than the number of GPUs 3dfx ever shipped out during their existence. Availability of Mantle on PCs is probably intended as a mere bonus for GCN card owners and convenience for console developers.
 

childofthekorn

Honorable
Jan 31, 2013
359
0
10,780


Sounds like your just stating what Nvidia and even Intel have been doing for years. From what the diagrams show, and from how they're describing it. The Hardware manufacturers business would mainly be between the API and the Architecture. This can open up the ability for each manufacturer to tell the application how to use its hardware at a further optimized level. IMO, of course, no one really knows except the dev's and the manufacturers. but being open source it appears Nvidia has a chance as well. If we can get an open platform where the customer worries less about what companies drivers are better, but more so whose hardware is superior, it would help the market dramatically.
 

InvalidError

Titan
Moderator

Not if the API definition directly mirrors AMD GCN architectural features since Nvidia would need to license the GCN architecture from AMD and modify their chips to be GCN-compatible. If Nvidia wants their own "Mantle", they will have to define their own GK-centric API and developers will have to rewrite parts of their graphics pipeline to accommodate that hypothetical GK-API.

Most PC game developers gave up on concurrently supporting DX and OGL a long time ago. I seriously doubt they would be happy about having to add Mantle and GK-API to that mix. In the context of console development and backports though, Mantle may become a freebie.
 
Status
Not open for further replies.