Mantle Interview With AMD's Guennadi Riguer

Yeah Ashbringer is not making any sense in any of his replies.

Mantle has a good change of making it to Linux and the beauty is no more microsoft needed for gaming.

I can see this being announced before then end of 2014.

Maybe they'll announce it before the end of 2014. But if AMD's Linux OpenGL drivers represent past performance indicative of future trends, then we can be assured that it'll be at least another decade+ until Linux Mantle is anything other than a steaming pile of broken crap.
 
Because its hardly used at all anymore, tends to get 2nd rate support from the IHV's, and has as much backwards compatibility cruft in it as DX which causes excessive overhead for the CPU/GPU.

Nothing you said here is accurate except for the part about 2nd-rate support, but that only applies to AMD.
 
Again, THE POINT IS TO GET YOU TO BUY A GRAPHICS CARD. Whether it has to do with gaming or not is not Nvidia's or AMD's concern. Not everyone goes and buys a graphics card for gaming. I know, shocking right? Further more, how is CUDA not related to gaming? Indirectly, PhysX runs on top of it. Can't use PhysX on the GPU without it? GSync is also indirectly related to gaming. It's meant to fix tearing and stuttering in video games. It's not DirectX related, but the point is to throw out tech that gets you to buy a graphics card, because Microsoft took a break from DirectX development.

Unless you know what you're talking about and can provide unbiased proof, then stop posting. My suggestion is to not go out and buy a graphics card for Mantle, because it's not open and not supported by Nvidia, Intel, or even AMD's older generation HD 5000/6000 cards. It'll likely never see the light of day on Linux with SteamOS.
Of course it is to get you to buy a graphics card. But it's not solely because DirectX has stagnated. CUDA is not positioned for gaming applications at all. If you don't believe me, please feel free to visit NVIDIA's page on it: http://www.nvidia.com/object/cuda_home_new.html

CUDA™ is a parallel computing platform and programming model invented by NVIDIA. It enables dramatic increases in computing performance by harnessing the power of the graphics processing unit (GPU). With millions of CUDA-enabled GPUs sold to date, software developers, scientists and researchers are finding broad-ranging uses for GPU computing with CUDA.
PhysX may run on top of CUDA on the GPU, but PhysX also runs on CPUs, and there are other physics simulation engines which use different technologies such as DirectCompute and OpenCL. CUDA is really more of a programming model, not a graphics API.

Your second argument really doesn't make a whole lot of sense:
GSync is also indirectly related to gaming. It's meant to fix tearing and stuttering in video games. It's not DirectX related, but the point is to throw out tech that gets you to buy a graphics card, because Microsoft took a break from DirectX development.
You stated that the point is to get you to buy a video card because MS took a break from DX development (even though that's really not true because DX11.1 and DX11.2 actually have some pretty excellent features such as tiled resources), but JUST BEFORE that you stated that it's meant to fix stuttering and tearing in games. Those are problems under ANY language or API, whether it's Mantle or DX or OpenGL or whatever, because of the way that graphics adapters and monitors communicate. It's ultimately a hardware fix, whether it be GSync or AMD's FreeSync push to get VESA to update the monitor standards. It has nothing to do with DirectX and even if MS was innovating on DX we would still need the display industry to address the problem because it's not a fix that can be done entirely in software.
 
As of right now Mantle is not open. It's much like CUDA.

It's much like how ATI made the Radeon 8500 and then made the 9000. After that, they made the 9200. The 9200 though was a re-branded 8500. One of the complaints 8500 had was the inability to use pixel shader to render video. Now ATI claimed it couldn't be done on the 8500, but flash a 9200 bios on a 8500 and long and behold it works.

But AMD now does this on a massive scale. All the R7 R9 cards are re-branded 7000 cards, except for the R9 290X and R9 290. But how are you going to get people excited to buy graphic cards that is a minor upgrade for most people? MANTLE!

Nobody re-brands things to sell for less. But considering how many people posted claiming I'm wrong, the re-branding seems to be working. It's meant to confuse people. Nvidia does the same thing too, but it doesn't make it any better.

Doesn't matter to me cause I know where Mantle will end up. Especially because I plan to go Linux anyway. I don't see Linux getting Mantle anytime soon.

I never said that it was open but your comment "Unless AMD does something to open up the API, it won't take off." seems to indicate that you don't think that they will open it up which goes against every comment they've made on the matter.

I see you basically ignored my comment about Nvidia rebadging cards(and continue to call it re-branding) suggesting that AMD rebadging is somehow different or more prevalent than Nvidia rebadging, hell the whole 9000 series was a slightly tweaked and rebadged 8000 series and more recently the GTX 770 was a rebadged 680 with a slight bump in clock speed. I could go on but it would take a couple pages to list all of the Nvidia cards that have been rebadged, especially if I dip into the OEM and low end cards like you did. Rebadging only confuses the completely ignorant and it doesn't matter much anyways because most people buy based on performance not how similar it is or isn't to another card.

So you're saying that a midrange card from the current gen costs as much or more than a high end card was selling in the last gen? Damn, I guess it's only a matter of time before a high end GPU costs more than a new car.

Have fun gaming on Linux, at least there's a few games that don't require wine these days. I have to say, I'm not sure why you keep posting because I don't think many people here are buying what you're selling. I'm just a mere mortal and can't predict the future(unlike you apparently) but Mantle shows a lot more potential than you're giving it credit for.
 
Maybe they'll announce it before the end of 2014. But if AMD's Linux OpenGL drivers represent past performance indicative of future trends, then we can be assured that it'll be at least another decade+ until Linux Mantle is anything other than a steaming pile of broken crap.
You are clearly confused , it is saying that AMD can't program their own low level API and that is because a high level API is bad on that platform.

You and many others it seems are missing the point , when you only need to make drivers for AMD hardware that are low level there is hardly anything that can go wrong and Mantle would function on "every platform" at the "same" speed.

What is it that people on [H] have a very hard time understanding what a low level API does?
 
The answers come from here
http://lucca.hardforum.com/rewrite/...spx&id=1&match=1&source=none&destination=none

1. Why is there a CPU bottleneck at the first place?
From a game developer’s point of view, creating games for the PC has never been especially efficient. With so many combinations of hardware possible in a PC, it’s not practical to create specialized programming for every possible configuration. What they do instead is write simplified code that gets translated on-the-fly into something the computer can work with.

Just as when two people communicate through a translator, this works, but it isn’t efficient. And it’s the CPU that has to do all this extra work, translating and queuing data for the graphics card to process. PCs are meant to be the ultimate gaming platform — they have the power — but all this translation slows things down, and game developers approached AMD asking for something better.

2. Is this not possible without Mantle(or somehow Mantle made it easier?)

What Mantle does

Mantle is the harmony of three essential ingredients:
1.A driver within the AMD Catalyst™ software suite that lets applications speak directly to the Graphics Core Next architecture

Mantle reduces the CPU’s workload by giving developers a way to talk to the GPU directly with much less translation. With less work for the CPU to do, programmers can squeeze much more performance from a system, delivering the greatest benefits in gaming systems where the CPU can be the bottleneck

I read that before my first post and hinted that I have read it. It is all written beautifully, but it really didn't address the key questions. Why was there a CPU bottleneck the first place in BF4. I am not looking for a quick and simple answer, but more like a technical explanation, which leads to the second part of my question, why mantle and not DX. The reason of my question is trivial, mantle only works with a few video cards and most players don't have. One of the possible explanation is Mantle consists APIs that offer shortcuts behind the scene where the same shortcut can't be implemented through Dx APIs. This is my theory without any type of backups. In other words, Mantle over new APIs to unleash the true power of R9 series GPUs. Welcome to the world of DirectX 9.0c.

You don't understand the difference between DirectX and Mantle , DX is high level and Mantle is low level.

Where you write about fixing DirectX is how you demonstrate you are not serious about this. If there was such a thing you forget that DX does not do optimizations for specific hardware that is handled by the driver of the vendor(Nvidia/AMD/whomever).

Now for you to understand the rest is something which may be to hard for me to explain.
To begin, neither DirectX or Mantle are programming languages but a set of APIs. PR throw in the "Low Level" prefix just so laymen believe it is indeed something better.

The Mantle's abstract codepath is graphical application -> Mantle APIs -> driver -> hardware and it only for graphic cards. To be specific, only the AMD's latest and greatest cards now and possibly anything above 6950 in the future.

The DirectX's abstract codepath is application -> DirectX APIs -> driver -> hardware. It works for all DirectX compatible hardware.

I have been putting my nose on news about innovative graphics and the last innovation I heard that was meaning was "Unlimited Detail" from Euclideon. Too bad neither Nvidia or AMD has this kind of innovation, which is not the point. The point is, what is the new tech within those cards that is not already covered by DirectX 11? If they offer "Unlimited Detail" then yes, DirectX 11 probably couldn't support it and will require a set APIs, but what is new that I have missed from AMD?

You guys can quote from AMD's advertisement page all day long but it simply does not have the answer that I seek for. It is invalid to say Mantle offers optimization as the same optimization can be done at the code write they wrote to support DirectX. In fact, they said both API shares the same shader compiler. Maybe they have new APIs that reduces the number of calls to allow programmers to do the same thing with less lines via Mantle, but that is not the case.

Quoted from OP:(http://www.pcper.com/reviews/General-Tech/Core-Mantle-Questions-Interview-AMDs-Guennadi-Riguer)
Q: Mantle's shading language is said to be compatible with HLSL. How will optimizations made for DirectX, such as tweaks during shader compilation, carry over to Mantle? How much tuning will (and will not) be shared between the two APIs?

[Guennadi] The current Mantle solution relies on the same shader generation path games the DirectX uses and includes an open-source component for translating DirectX shaders to Mantle accepted intermediate language (IL). This enables developers to quickly develop Mantle code path without any changes to the shaders. This was one of the strongest requests we got from our ISV partners when we were developing Mantle.

Follow-Up: What does this mean, specifically, in terms of driver optimizations? Would AMD, or anyone else who supports Mantle, be able to re-use the effort they spent on tuning their shader compilers (and so forth) for DirectX?

[Guennadi] With the current shader compilation strategy in Mantle, the developers can directly leverage DirectX shader optimization efforts in Mantle. They would use the same front-end HLSL compiler for DX and Mantle, and inside of the DX and Mantle drivers we share the shader compiler that generates the shader code our hardware understands.

Those came straight from Guennadi Riguer, the chief architect for Mantle. Did you see what he said? I can offer translations if you need them.

Does this demonstrates that I am serious?
 
You are clearly confused , it is saying that AMD can't program their own low level API and that is because a high level API is bad on that platform.

You and many others it seems are missing the point , when you only need to make drivers for AMD hardware that are low level there is hardly anything that can go wrong and Mantle would function on "every platform" at the "same" speed.

What is it that people on [H] have a very hard time understanding what a low level API does?

I think you're the one that's confused. It doesn't matter how "low level" your rendering API, the GPU driver is a kernel driver and has to interface with the kernel framework. You're confused because you think that AMD's Linux driver is a steaming pile simply because OpenGL is too difficult to work with. You'd be wrong, of course. Because even in non-OpenGL workloads the driver is a broken mess. Crashing the display server or hanging the kernel aren't OpenGL issues, after all. Nor is their extraordinarily awful video playback solution. I guess their broken OpenCL implementation will be fixed by Mantle too.

I mention OpenGL because it's one of the most glaring examples of how mediocre their driver dev team is and, more importantly, just how little they care about making an investment in Linux that isn't completely half-assed.
 
PR throw in the "Low Level" prefix just so laymen believe it is indeed something better.

Correct.

For a decade now we've been hearing these delusions of grandeur about how console developers are coding "to the bare metal" and everyone now thinks that's the greatest thing since sliced bread. Yeah maybe ten years ago, but today's consoles don't impress me. But that's just me.

And the idea that anyone on XB1 is "coding to the bare metal" is hilarious. Every video call is going to go through an API, driver and kernel.

A more accurate term for Mantle is a "specialized API". Maybe it's leaner and more efficient, but that's a different thing than being "low-level".

It's about as technically low-level as, say... I dunno... DX and OGL as examples.

Then again, some people here soak up AMD PR like it's gospel and those who don't believe... well those are the technically illiterate.
 
Correct.

For a decade now we've been hearing these delusions of grandeur about how console developers are coding "to the bare metal" and everyone now thinks that's the greatest thing since sliced bread. Yeah maybe ten years ago, but today's consoles don't impress me. But that's just me.

And the idea that anyone on XB1 is "coding to the bare metal" is hilarious. Every video call is going to go through an API, driver and kernel.

A more accurate term for Mantle is a "specialized API". Maybe it's leaner and more efficient, but that's a different thing than being "low-level".

It's about as technically low-level as, say... I dunno... DX and OGL as examples.

Then again, some people here soak up AMD PR like it's gospel and those who don't believe... well those are the technically illiterate.

I like reading your posts man. Forgot where else, keep it up :cool:
 
For a decade now we've been hearing these delusions of grandeur about how console developers are coding "to the bare metal" and everyone now thinks that's the greatest thing since sliced bread. Yeah maybe ten years ago, but today's consoles don't impress me. But that's just me.
You are not alone, and I thought I was.

And the idea that anyone on XB1 is "coding to the bare metal" is hilarious. Every video call is going to go through an API, driver and kernel.
Don't even get me started on consoles, it breaks my heart.

A more accurate term for Mantle is a "specialized API". Maybe it's leaner and more efficient, but that's a different thing than being "low-level".

It's about as technically low-level as, say... I dunno... DX and OGL as examples.
Nicely put. I do believe that that there are limitations with DX on utilizing all those GPU powers, I just don't see how Mantle does it better, at least for now.
 
Yep it is the mantle thread all over again.
These people insist on making as much stuff up as they can.
 
Then again, some people here soak up AMD PR like it's gospel and those who don't believe... well those are the technically illiterate.

Yeah Low level is a phrase that is copyrighted by AMD PR AMD PR is so active that you don't know anything about anything related to their hardware but you do know that AMD PR invented low level api.
 
Then again, some people here soak up AMD PR like it's gospel and those who don't believe... well those are the technically illiterate.

Not questioning your technical programing abilities on the API debate, because my knowledge of programing is one semester of visual basic about 15 years ago, so for me to get into the technical discussion of mantle would be ridiculous. However, if the "PR" about mantle is not accurate, or is misleading then who is it for? If your a programer, in the business of game development, then why would AMD even make mantle or the claims about its capabilities in the first place if it was not accurate to some extent? The end user can only buy the hardware or software that uses mantle, but it needs a market first, so in reality the developers are the target for mantle, and if mantle does not do the things that AMD claims then it will obviously fail because no one will implement it.
 
There are doomsayers everywhere.

I mostly just ignore them unless i find they spreading FUD and people are listening...

I find that most people who don't know what they are talking about are incredibly attached to their viewpoint and trying to convince them otherwise is an exercise in futility since they havent a clue what you are trying to say either.
 
Not questioning your technical programing abilities on the API debate, because my knowledge of programing is one semester of visual basic about 15 years ago, so for me to get into the technical discussion of mantle would be ridiculous. However, if the "PR" about mantle is not accurate, or is misleading then who is it for? If your a programer, in the business of game development, then why would AMD even make mantle or the claims about its capabilities in the first place if it was not accurate to some extent? The end user can only buy the hardware or software that uses mantle, but it needs a market first, so in reality the developers are the target for mantle, and if mantle does not do the things that AMD claims then it will obviously fail because no one will implement it.
IMO all debates around Mantle lays in the underlined statement.

Here are 3 questions for you. What are the claims from AMD? What are the claims from people's imaginations? and When was the last time you see and ad that accurately describe a product?
 
Star Swarm tech demo: 5000+ships on screen, 1920x1200, 4770K 4.5 / 290 crossfire

DX11: 7fps
Mantle: 35 fps
 
IMO all debates around Mantle lays in the underlined statement.

Here are 3 questions for you. What are the claims from AMD? What are the claims from people's imaginations? and When was the last time you see and ad that accurately describe a product?

None of those questions will decide this topic one way or the other.
I work in the electrical trades, and we do not install products that do not perform as described, just as a developer would not waste time and resources on mantle if it does not deliver.
So far in the beta release i am pleased with the performance of mantle.
starwarm demo MIN FPS is stable and 10-15 fps higher than DX, with blur off or on.
As for BF4, i do not have the game yet, but i have been on many boards with people posting better MIN FPS, and with consistently better ms frame times using mantle over DX.
I would say for the beta, mantle is showing its possibilities very well, but its way to early to speculate on its longevity or acceptance.

AMD owner + mantle = :D
nVida owner + DX = :D
AMD owner :D about his mantle experience = :rolleyes: nVidia owner
 
Nvidia is just pissed that all of the next gen consoles have AMD graphic solutions. Mantle is like a thorn in their side, because it bridges the api gap with consoles. We all know that cross platform game development is the present reality, and there are no signs of that changing.
 
I Why was there a CPU bottleneck the first place in BF4. I am not looking for a quick and simple answer, but more like a technical explanation, which leads to the second part of my question, why mantle and not DX

I was afraid that I gave you too much info, so here is the answer bare bones, you cannot handle a technical explanation and I cannot give one, I'm not a software developer I'm an engineer.

It cannot be DX because DX is part of the problem! DX has to deal with a ton of hardware combos, it is like a universal translator - works for a lot of things but is not efficient.

Mantle only does one thing, goes from CPU to an AMD GCN card. That is why it is faster, and it is why it requires an AMD GPU (for now anyway)
 
Last edited:
I read that before my first post and hinted that I have read it. It is all written beautifully, but it really didn't address the key questions. Why was there a CPU bottleneck the first place in BF4. I am not looking for a quick and simple answer, but more like a technical explanation, which leads to the second part of my question, why mantle and not DX. The reason of my question is trivial, mantle only works with a few video cards and most players don't have. One of the possible explanation is Mantle consists APIs that offer shortcuts behind the scene where the same shortcut can't be implemented through Dx APIs. This is my theory without any type of backups. In other words, Mantle over new APIs to unleash the true power of R9 series GPUs. Welcome to the world of DirectX 9.0c.?

You read it, but obviously didn't understand it. The bottleneck isn't in BF4, it's in Directx. Any game that has large number of objects and geometry in any given frame will suffer CPU bottlenecks as the GPU waits for the CPU to issue drawcall instructions. RTS games and MMO games suffer from this the most as they have large number of different things happening at once. There are ways around this problem in Directx, things like batching, Instancing and multi threaded display lists. But they still don't completely solve the problem.

Older consoles didn't have this problem as they had custom API's that let the developers work more closely with the hardware. In fact the xbox360 and PS3 can still send more drawcalls than modern PC's. The problem with the those consoles is that they always had very bad GPU's. So they were GPU bound rather than CPU bound.

To begin, neither DirectX or Mantle are programming languages but a set of APIs. PR throw in the "Low Level" prefix just so laymen believe it is indeed something better.

The Mantle's abstract codepath is graphical application -> Mantle APIs -> driver -> hardware and it only for graphic cards. To be specific, only the AMD's latest and greatest cards now and possibly anything above 6950 in the future.

The DirectX's abstract codepath is application -> DirectX APIs -> driver -> hardware. It works for all DirectX compatible hardware.

I don't think anyone in this thread thinks that mantle or directx are programming languages, or are you explaining it to yourself? Low level is just a PR term?? lol sort of like bare metal too? Maybe we should call it big magic convertor thingy? Would that work for you? LOL. There are reasons why these terms are used, basically they just cut out the middle man and allow the developers to communicate more directly with the hardware.

What's the problem with Mantle not supporting older cards? Mantle requires a certain shader function to work., older hardware don't have this function so can't be used. Kepler will be able to use mantle if/when AMD open it up after the beta period. It should be very easy to move to different graphics cards because I highly doubt AMD are stupid enough to develope an API that only works with GCN. It would be shooting themselves in the foot.


I have been putting my nose on news about innovative graphics and the last innovation I heard that was meaning was "Unlimited Detail" from Euclideon. Too bad neither Nvidia or AMD has this kind of innovation, which is not the point. The point is, what is the new tech within those cards that is not already covered by DirectX 11? If they offer "Unlimited Detail" then yes, DirectX 11 probably couldn't support it and will require a set APIs, but what is new that I have missed from AMD?

LOL There hasn't been anything about this since 2011, And it can't be used for games at all. No animations are possible, never mind things like AI or PhysX. The hard drive space needed would be huge!!

What is new since 2011 from AMD? how about Mantle? their GCN cards, freesync with a bit of luck, Or Nvidia have their gameworks and Gsync coming online.

You guys can quote from AMD's advertisement page all day long but it simply does not have the answer that I seek for. It is invalid to say Mantle offers optimization as the same optimization can be done at the code write they wrote to support DirectX.

Nope the same optimizations can't be done on directx, it would need a complete overhaul to be able to do what mantle does.

Maybe they have new APIs that reduces the number of calls to allow programmers to do the same thing with less lines via Mantle, but that is not the case.

Why are you mention APIs that work within mantle? Mantle is the API, and that's nearly exactly in reverse what it does. It allows you to send more drawcalls, whereas directx was all about fancy ways to send less.

Does this demonstrates that I am serious?
Nope, but it does show you have no grasp of what mantle is about at all.
 
None of those questions will decide this topic one way or the other.
I work in the electrical trades, and we do not install products that do not perform as described, just as a developer would not waste time and resources on mantle if it does not deliver.
So far in the beta release i am pleased with the performance of mantle.
starwarm demo MIN FPS is stable and 10-15 fps higher than DX, with blur off or on.
As for BF4, i do not have the game yet, but i have been on many boards with people posting better MIN FPS, and with consistently better ms frame times using mantle over DX.
I would say for the beta, mantle is showing its possibilities very well, but its way to early to speculate on its longevity or acceptance.

AMD owner + mantle = :D
nVida owner + DX = :D
AMD owner :D about his mantle experience = :rolleyes: nVidia owner
On the surface, it appears to be true that the game appears to run better with Mantle If you break it down, you will see what is wrong. The claim is that mantle reduces CPU overhead as if it is a fixed variable that came from Dx calls, but that is not true as Nvidia video card does not suffer this. http://techreport.com/review/25995/first-look-amd-mantle-cpu-performance-in-battlefield-4/2
Compare the D3D graph between 290x and 780Ti and you will see that Nvidia suffers far less micro shutter, assuming it is caused by CPU waits.

Now look compare D3D and Mantle and you will see that Mantle does help. But wait, if you compare the Mantle and 780 Ti graph, you will see that 780 Ti under D3D pairs with 290x under Mantle. What does it mean? One of the possible reason is that AMD doesn't support D3D as well as Nvidia, which has nothing to do with D3D itself.

I was afraid that I gave you too much info, so here is the answer bare bones, you cannot handle a technical explanation.

It cannot be DX because DX is part of the problem! DX has to deal with a ton of hardware combos, it is like a universal translator - works for a lot of things but is not efficient.

Mantle only does one thing, goes from CPU to an AMD GCN card. That is why it is faster, and it is why it requires an AMD GPU (for now anyway)
Personal attacks does make your point valid. MS does not control how drivers implement APIs, but forcing vendors to support the same set of APIs so programmers don't need to write vendor specific code for different hardware, which is the whole point of DirectX. By itself, it doesn't do anything without vendor's driver to support it. If AMD runs slower with D3D calls, then the ball is at their court. Underneath any drivers there are many lines of code which passes data left and right, those are problems programmers of the hardware needs to worry about, not game developers.

Are are new ways to do things that Dx does not support? Perhaps there are new APIs in Mantle that allows things to be done in one pass where it requires a few Dx calls to do the same thing, but if that is the case, we would have been notified by now. In fact, I have been searching for a solid indication whether or not this is the case but found nothing. Do me a favor and find me that particular API within Mantle where it needs multiple calls to Dx APIs to achieve.
 
ok, you, some random jackass on the internet knows better than dice.

Dice has said DX is the bottleneck, not drivers.

Sorry, Johan is more believeable than you.

And since 3 other big developers with 20+ AAA games in development agree with him, i think ill drink the cool aid.
 
Last edited:
Now look compare D3D and Mantle and you will see that Mantle does help. But wait, if you compare the Mantle and 780 Ti graph, you will see that 780 Ti under D3D pairs with 290x under Mantle. What does it mean? One of the possible reason is that AMD doesn't support D3D as well as Nvidia, which has nothing to do with D3D itself.

First, my technical knowledge in this area are probably not on par with yours, so forgive my laymen backwoods terminology. :)
I would say that AMD, has stopped going the "brute force" approach, but instead using mantle to achieve the same results on lesser hardware. That allows developers to reach a wider market, and they are creating a "console like" platform that keeps certain pieces of code when porting games over to PC from console. Seems like a win for devs and end users to me.
DX seems to be the middle man that AMD is trying to work around, so if that means there drivers are shit in your opinion, then nothing i say will change that.
As for AMD DX support, its up to developers to optimize their engines for a certain platform, AMD has given them a tool that they believe is a better way.
Again, i can point to articles that praise mantle and others that do not, but its way to early in the game right now. Let mantle mature and lets see what devs can do with it.
 
You read it, but obviously didn't understand it.
It appears that personal attacks are absolutely mandatory.
The bottleneck isn't in BF4, it's in Directx.
It isn't DirectX, but the way AMD implement it. I have linked a performance chart in my previous post that indicated what I said.

...I don't think anyone in this thread thinks that mantle or directx are programming languages, or are you explaining it to yourself? Low level is just a PR term?? lol sort of like bare metal too? Maybe we should call it big magic convertor thingy? Would that work for you? LOL. There are reasons why these terms are used, basically they just cut out the middle man and allow the developers to communicate more directly with the hardware.
This is your interpretation to the term "Low Level API". Can you name one particular API from Mantle that is actually "to the metal"? I believe there are, but I am challenging you to name one.

What's the problem with Mantle not supporting older cards? Mantle requires a certain shader function to work., older hardware don't have this function so can't be used. Kepler will be able to use mantle if/when AMD open it up after the beta period. It should be very easy to move to different graphics cards because I highly doubt AMD are stupid enough to develope an API that only works with GCN. It would be shooting themselves in the foot.
So you are saying that AMD is shooting themselves in the foot now. I don't really care if Mantle can benefit Nvidia users nor think it should.

LOL There hasn't been anything about this since 2011, And it can't be used for games at all. No animations are possible, never mind things like AI or PhysX. The hard drive space needed would be huge!!

What is new since 2011 from AMD? how about Mantle? their GCN cards, freesync with a bit of luck, Or Nvidia have their gameworks and Gsync coming online.
We are talking about Mantle, but since you mention it, Gsync is nice concept to talk about. How many people are willing to drop 300 dollars on a monitor just so that you can disassemble, mod it with a 200 dollars gadget, and reassemble it back, and then hope it still works?

Nope the same optimizations can't be done on directx, it would need a complete overhaul to be able to do what mantle does.
Any source to back that up?

Why are you mention APIs that work within mantle? Mantle is the API, and that's nearly exactly in reverse what it does. It allows you to send more drawcalls, whereas directx was all about fancy ways to send less.

Nope, but it does show you have no grasp of what mantle is about at all.

Are you saying that Mantle does not offer "Low Level APIs" now?

I didn't say Mantle can't do low level calls, I said the word "Low Level" is redundant as D3D is as "Low Level as Mantle. In fact, I believe Mantle contains some APIs that accesses some exclusive features from AMD cards, but I don't know what they are and hoping someone can educate me.
 
When u look at star swarm stress test, with mantle, u see it draws on average a couple of hundreds of ships more and the average batches doubles and still the frame rate is increased.
They are numbers. Numbers are indicative of difference between the two.
High >lower.

It's showing how DX reacts to more drawcall. Trying to have DX render the same amount of ships and address the same amount of batches as mantle would result in a slideshow.



Please go learn what api means and stop saying api in mantle as that is redundant.
 
When u look at star swarm stress test, with mantle, u see it draws on average a couple of hundreds of ships more and the average batches doubles and still the frame rate is increased.
They are numbers. Numbers are indicative of difference between the two.
High >lower.

It's showing how DX reacts to more drawcall. Trying to have DX render the same amount of ships and address the same amount of batches as mantle would result in a slideshow.

From Oxide:
The reason Motion Blur is so intensive on Extreme settings is that it essentially renders the scene 8 times for each frame (this means that it renders a full frame every 2 ms).

That is insane, yet mantle keep the FPS pretty stable.
If you turn off blur, DX sometimes beats Mantle in average FPS, but the batches are much less with blur off.
 
Are are new ways to do things that Dx does not support? Perhaps there are new APIs in Mantle that allows things to be done in one pass where it requires a few Dx calls to do the same thing, but if that is the case, we would have been notified by now. In fact, I have been searching for a solid indication whether or not this is the case but found nothing. Do me a favor and find me that particular API within Mantle where it needs multiple calls to Dx APIs to achieve.
MANTLE IS THE API.

Looks like I need to make it even simpler. Since Mantle only cares about AMD GPUs in can send data to the GPU faster and lowers stress on the CPU. Want proof that it works? Read this.
http://www.hardocp.com/article/2014/02/03/amd_mantle_performance_preview_in_battlefield_4
 
It appears that personal attacks are absolutely mandatory.

It wasn't a personal attack, your previous posts (and this one) show how little you understand what mantle is and how little you know about directx. People have tried to explain it in simple English and you haven't grasped it, so how will you understand a more technical explaination?

It isn't DirectX, but the way AMD implement it. I have linked a performance chart in my previous post that indicated what I said.

Wait a minute, you link to benchmark and claim that Nvidia are better than AMD in Directx based on that? I can link to benchmarks showing AMD cards faster than Nvidia cards. Here try this http://techreport.com/review/25509/amd-radeon-r9-290x-graphics-card-reviewed, all the benchmarks show the AMD card faster.


This is your interpretation to the term "Low Level API". Can you name one particular API from Mantle that is actually "to the metal"? I believe there are, but I am challenging you to name one.

This isn't my interpretation of what a low level API is, IT IS what a low level API is. These aren't phrases made up by me or AMD, these are terms used by developers and programmers for a long time. High level APIs are easier to work with at a cost of performance. Directx is a high level API. Directx 11 has provided several improvements as I mentioned in my last post, but they still can't provide the same performance as low level API can.

Can I name a low level API, sure I can, it's called Mantle. There are no APIs inside mantle, it is the API.



So you are saying that AMD is shooting themselves in the foot now. I don't really care if Mantle can benefit Nvidia users nor think it should.

reading comprehension, you should go back up and read my post again. I never said AMD are shooting themselves in the foot. And it would be much better for gamers if Nvidia does adopt mantle down the road. It will be worse if they develop their own API.


We are talking about Mantle, but since you mention it, Gsync is nice concept to talk about. How many people are willing to drop 300 dollars on a monitor just so that you can disassemble, mod it with a 200 dollars gadget, and reassemble it back, and then hope it still works?

You do realise that the Kit is purely for early adopters wanting to get it before everyone else? When monitors are been produced with the board built in then it will be much cheaper. I am just using it as an a example of technology that's moving us a step forward in getting a better gaming experience.


Any source to back that up?

I can send you a ton of links if you want.
http://www.anandtech.com/show/7371/understanding-amds-mantle-a-lowlevel-graphics-api-for-gcn
http://www.bit-tech.net/hardware/graphics/2011/03/16/farewell-to-directx/2
http://stackoverflow.com/questions/4853856/why-are-draw-calls-expensive
http://forums.tripwireinteractive.com/showthread.php?t=69260

I think you get the picture.





Are you saying that Mantle does not offer "Low Level APIs" now?

Mantle doesn't contain low level APIs, Mantle is a low level API, a lower level API than Directx.

I didn't say Mantle can't do low level calls, I said the word "Low Level" is redundant as D3D is as "Low Level as Mantle. In fact, I believe Mantle contains some APIs that accesses some exclusive features from AMD cards, but I don't know what they are and hoping someone can educate me.

Directx for the most part has to communicate with the hardware through several levels of software. Mantle talks with the card directly. That's it grossly simplified. And since the SDK hasn't been released we don't know what what the exact workings of mantle are. AMD have designed it and are testing it on GCN cards, but they will have to expand it to include other cards if they want it to be a success.

Please see my highlighted points in red.
 
ok, you, some random jackass on the internet knows better than dice.

Dice has said DX is the bottleneck, not drivers.

Sorry, Johan is more believeable than you.

And since 3 other big developers with 20+ AAA games in development agree with him, i think ill drink the cool aid.

It's true that D3D and OGL don't have very well implemented multi-threaded rendering mechanisms at this time. That's a clear sore spot and definitely some low-hanging fruit for Mantle to make gains.

I don't take DICE's comments too seriously though. I mean I admit I'd be whistling Dixie about Mantle too if AMD gave me an $8 million stipend.

And looking at the trainwreck that is BF4 (technically speaking), I don't exactly get the vibe that DICE is an amazing software shop.

Directx for the most part has to communicate with the hardware through several levels of software. Mantle talks with the card directly. That's it grossly simplified.

You simplified it so much that it became too imprecise. Mantle talks with the card about as directly as D3D and OGL. You write software according to the API; your software runs with a library that sends the calls into the GPU driver; the GPU driver sends that to the GPU after coordinating access with the kernel. Same with D3D.

Now it may be true that Mantle is more efficient and doesn't have as much crap as D3D and is maybe even engineered better than D3D... but we don't have any evidence to know that yet.

Mantle doesn't contain low level APIs, Mantle is a low level API, a lower level API than Directx.

I would love for somebody to prove this. It's amazing how easily these internet myths take root.
 
Please see my highlighted points in red.
Well, if those were not personal attacks, then your English is good and you are highly educated.

As to the link, I didn't say Nvidia better in terms of performance, but 780Ti suffers far less CPU bottleneck compare to 290x running D3D. Which part was it confusing? You said the bottleneck is due to DirectX, but if that is the case, shouldn't it hit 780 too?

An API is an API, D3D is an API to render graphics. Mantle isn't lower level compare to D3D, but may contains extra APIs for GCN cards so devs can,for example, build a module that monitors GPU memory usage via Mantle that doesn't already work with D3D. This feature doesn't make Mantle lower level, but specific.

Yes, I keep saying there are APIs within Mantle, I know. If Mantle does one thing and one thing only, then there are no other APIs, just Mantle. If Mantle offers everything D3D does, plus some GCN specific function sets, then one can say there exists an API for GCN specific functions. If shader generation is just a subset of what Mantle offers, then one can say that Mantle has an API for shader generation. If you look at Mantle as a whole, then it is a graphical API. Am I wrong? Yes, I am aware that I could have used the word "feature" instead, but it is still not the correct word to use.

As far as I know, Mantle do not talk to the video card directly, but supported by video card drivers. I quoted from OP's link where the chief of Mantle explicitly said that Mantle uses the same shader generation path DirectX uses:
[Guennadi] The current Mantle solution relies on the same shader generation path games the DirectX uses and includes an open-source component for translating DirectX shaders to Mantle accepted intermediate language (IL). This enables developers to quickly develop Mantle code path without any changes to the shaders. This was one of the strongest requests we got from our ISV partners when we were developing Mantle.
I even said:
...Perhaps there are new APIs in Mantle that allows things to be done in one pass where it requires a few Dx calls to do the same thing...
Please do me a favor and don't write in red, I can't see them well.
 
Last edited:
The main thing I like about mantle is that it works with multiple GPUs, DirectX only works with a single GPU.

(If you say Crossfire or SLI I will beat you with a fish)
 
There's only 1 api between the system and the driver. How can anyone take you SERIOUSly when you can't even understand such a simple thing.

Lower level are words. Words mean things. They are established definition in the pc world.
When u throw out their definition to fit your vision of what you don't understand, makes you look incredibly ignorant.

Ignorant isn't bad, it means you can learn Serious.
Unless your not here to learn and are just trolling, than your a lost cause.

Go read up the definition what an api stands for and then come back.
If u refer to api's withing an api again it will mean that your trolling us and we'll ignore u hence forth.
 
I think hes really trying to say HAL (Hardware Abstraction Layer)

if you replace API with HAL in all his misinformed posts, it might make a bit more sense, although still technically wrong.
 
The green part shows you how clueless you are when it came to programming.

Regarding the yellow part, can you point me out memory related functions in D3D, like

grGetMemoryHeapCount
grGetMemoryHeapInfo
grAllocMemory
grFreeMemory
grMapMemory
grUnmapMemory

from Mantle?

No? I thought so. And BTW, memory functions are only a part what makes Mantle low level API. In conclusion, just STFU with you trolling, tread derail&crapping.

You're not really making the point that Mantle is "low-level" here. Because MS could just as easily add similar functionality in D3D, or a vendor could do likewise w/ extensions in OGL, and would that all of a sudden make those APIs "low-level" to the standard you and others are claiming?

Of course not.

You're simply exposing GPU-specific functionality in a specific (rather than abstract) manner. Again, Mantle is more about specificity to an architecture than anything else. That of course has both pros and cons. But it's also true to say that a vendor can do exactly the same thing in OGL (without approval of any standards body) or in D3D (with a simple phone call to Steve Ballmer.) There's nothing inherent in those APIs that make them "too high-level" for best GPU performance. That whole argument is a crock. You're not getting more "layers" with D3D than you are with Mantle.
 
Star Swarm tech demo: 5000+ships on screen, 1920x1200, 4770K 4.5 / 290 crossfire

DX11: 7fps
Mantle: 35 fps
Funny, because I've seen DirectX demos that have 5000+ objects on-screen that don't have any issue running at 60+ FPS :confused: ... I mean, heck, a lot of RTS games can easily blow past 5000 units without a problem.

That said, if you totally ignore instancing, you could bring a system with a weak CPU to its knees with 5000 objects... but why would you ignore instancing?

As an example of large numbers of objects not being an issue, here's a few million individual blades of grass (actual geometry) being rendered on DirectX back in 2010 http://www.youtube.com/watch?v=6GmrdHxpYxk&t=1m50s
 
Last edited:
You're not really making the point that Mantle is "low-level" here. Because MS could just as easily add similar functionality in D3D, or a vendor could do likewise w/ extensions in OGL, and would that all of a sudden make those APIs "low-level" to the standard you and others are claiming?

Of course not.

You're simply exposing GPU-specific functionality in a specific (rather than abstract) manner. Again, Mantle is more about specificity to an architecture than anything else. That of course has both pros and cons. But it's also true to say that a vendor can do exactly the same thing in OGL (without approval of any standards body) or in D3D (with a simple phone call to Steve Ballmer.) There's nothing inherent in those APIs that make them "too high-level" for best GPU performance. That whole argument is a crock. You're not getting more "layers" with D3D than you are with Mantle.

The point of Mantle is not to remove abstraction - what you get IS abstracted. The point is a leaner abstraction layer, not none. There's plenty of stuff Mantle currently exposes stuff that D3D (or GL currently) has no concept of whatsoever, like explicitly allocating your own memory -- and if I remember right, even have it hook your own allocation routines, so you can take advantage of things like a linear allocator or something you use for per frame stuff, etc. As is you just say "Create a buffer, prefer it in VRAM, make it this big," and you get back a resource object, which you have to map to get a pointer back to access. How does the driver synchronize read / writes, and manage other things to make sure you don't go obliterating data it needs? Some GL extensions let you do stuff kind of like this, in which case, you're (gasp) getting lower level control of what's going on.

The GPU pipelines Mantle exposes is another one. They don't need to wait on each other and can operate independently. The GPU can be moving memory at the same time it's shading pixels or something like that. The driver doesn't know your intentions as well as you, the person who designed the program. These are things you can take advantage of.

Mantle does not forego a driver, it isn't meant to be specialized (ie: only work on AMD hardware forever and ever). The extension system is not an accident, that's what it's there for. GPU / Vendor specific stuff is meant to be exposed as an extension; the design is based around what they view the modern GPU as.
 
Back
Top