Earth Shattering?
AMD has built a new low level hardware API that could drastically change how PC gaming is built for Radeon.
AMD is up to some interesting things. Today at AMD’s tech day, we discovered a veritable cornucopia of information. Some of it was pretty interesting (audio), some was discussed ad-naseum (audio, audio, and more audio), and one thing in particular was quite shocking. Mantle was the final, big subject that AMD was willing to discuss. Many assumed that the R9 290X would be the primary focus of this talk, but in fact it very much was an aside that was not discussed at any length. AMD basically said, “Yes, the card exists, and it has some new features that we are not going to really go over at this time.” Mantle, as a technology, is at the same time a logical step as well as an unforeseen one. So what all does Mantle mean for users?
Looking back through the mists of time, when dinosaurs roamed the earth, the individual 3D chip makers all implemented low level APIs that allowed programmers to get closer to the silicon than what other APIs such as Direct3D and OpenGL would allow. This was a very efficient way of doing things in terms of graphics performance. It was an inefficient way to do things for a developer writing code for multiple APIs. Microsoft and the Kronos Group had solutions with Direct3D and OpenGL that allowed these programmers to develop for these high level APIs very simply (comparatively so). The developers could write code that would run D3D/OpenGL, and the graphics chip manufacturers would write drivers that would interface with Direct3D/OpenGL, which then go through a hardware abstraction layer to communicate with the hardware. The onus was then on the graphics people to create solid, high performance drivers that would work well with DirectX or OpenGL, so the game developer would not have to code directly for a multitude of current and older graphics cards.
Sure, guys like 3dfx would update their GLIDE API to handle legacy applications and legacy hardware as well as current products and new games. This still was too much work for developers. Creating different rendering engines that would take advantage of features on these chips all the while addressing support for 3dfx’s GLIDE, Rendition’s RRedline, or S3’s Metal was just too much. So we moved on to embrace Direct3D and OpenGL. Sounds like heaven, right? Not necessarily so. We have had issues with good driver support for these high level APIs. The high level APIs are not efficient, and the overhead that they impose impacts both performance and latency. These APIs have improved over time, especially with the jumps to DX11 and OpenGL 4.0. Still, they have enough of a hit that performance can be improved by getting rid of them altogether.
This is what Mantle does. It bypasses DirectX (and possibly the hardware abstraction layer) and developers can program very close to the metal with very little overhead from software. This lowers memory and CPU usage, it decreases latency, and because there are fewer “moving parts” AMD claims that they can do 9x the draw calls with Mantle as compared to DirectX. This is a significant boost in overall efficiency. Before everyone gets too excited, we will not see a 9x improvement in overall performance with every application. A single HD 7790 running in Mantle is not going to power 3 x 1080P monitors in Eyefinity faster than a HD 7970 or GTX 780 (in Surround) running in DirectX. Mantle shifts the bottleneck elsewhere.
What kind of improvements can we expect? Performance will increase when things are not shader bound. We probably could see an improvement in geometry handling (higher polygon scenes). Other than that though, do not expect miracles. In applications that require multiple shading passes, complex lighting, tessellation and deformation, we might see improvements in the single digit percentages, perhaps as high as the low teens. Still, it is an improvement and it will give AMD a leg up in these applications that utilize Mantle as compared to their primary competitor which still uses DirectX and OpenGL.
This development is not exactly unprecedented, though it was unexpected at this time. Both Sony and Microsoft are already essentially going this route with their next generation consoles. In fact, both of these companies have been doing this for several generations of consoles. They enable developers low level access to the hardware and control of memory addresses and accesses which makes graphics on these consoles very efficient. As software for consoles improves over time, these developers can create tricks and optimizations to squeeze every last ounce of performance from these machines. If we were to compare graphical fidelity of the latest titles to those at the consoles’ launches, it is almost night and day where we have come to. This “close to the metal” approach is very efficient and allows for a lot of flexibility for programmers.
So why are we seemingly going back in time? It seems that in computer technology the idea of “what was old is now new again” keeps coming around. So why does Mantle sound like a good idea? First of all, we do not have a dozen competing APIs from the likes of 3Dfx, Rendition, PowerVR, ATI, S3, Matrox, and others. Secondly we have a huge impetus for this movement from the next generation consoles which both implement AMD’s GCN architecture. Developers will already be familiar with the architecture and very similar programming techniques. Going to Mantle would not be trivial, but at the same time it does not require a total rewrite of the renderer to support.
Battlefield 4 will be the first title to natively support Mantle, and that support will be released to users as a free update in December. BF4 is based on the Frostbite 3 engine, which will be powering around 15 titles over the next year. Obviously most of these titles will have no need to support or implement Mantle, but we could see a couple test out that technology. The more important support could come from titles initially developed for the consoles and ported to the PC. We also have that little free radical called the Steam Box. While AMD is working with Valve to have drivers ready to go, we do not know if Valve will embrace Mantle for their titles. It seems somewhat unlikely because Valve is offering SteamOS for free and for multiple configurations. NVIDIA still has the majority of standalone gaming cards in the wild, but AMD is slowly closing that gap.
Mantle is an interesting move for AMD. While Mantle may not conquer the world overnight, as AMD starts to ship GCN based APUs we could see an uptick of interest. Not everyone owns a high end graphics card, but there will be a larger group of people with a GCN based APU in their machine. As the numbers start growing, then interest with developers will increase. When we combine the numbers for PS4, XBOne, and APU enabled PCs, then the numbers may make sense for developers to focus on implementing a Mantle based pathway for their games. Time will tell.
Thank you for the great
Thank you for the great article Josh, very easy to understand!
I just ordered a ASUS gtx 780
I just ordered a ASUS gtx 780 DCUIIOC yesterday for about $100 less than retail.
Now this r9 290x mantle news is making me wonder if I made a mistake. I’m looking forward to tomorrow’s podcast!
I wish amd would support lightboost 2.
Sounds like a decent deal for
Sounds like a decent deal for that card. It will be interesting to see where exactly the R9 290X/290 cards will come in. AMD usually sticks to a good price/performance ratio. The one thing we don't know yet is the exact release date of the latest cards from AMD. We certainly don't know the performance either! Still, you will quite likely enjoy your GTX 780!
One might presume the same
One might presume the same applies to AMD vs Nvidia graphics cards.
Digital Foundry in April of this year:
“We approached a number of developers on and off the record – each of whom has helped to ship multi-million-selling, triple-A titles – asking them whether an Intel or AMD processor offers the best way to future-proof a games PC built in the here and now. Bearing in mind the historical dominance Intel has enjoyed, the results are intriguing – all of them opted for the FX-8350 over the current default enthusiast’s choice, the Core i5 3570K”
http://www.eurogamer.net/articles/digitalfoundry-future-proofing-your-pc-for-next-gen
lol. those Germans are a
lol. those Germans are a silly bunch. Crysis 3 as their primary example? The game SUCKS. It shows they cherry picked taht title to make AMD CPU’s look good… by a whole 2 frames over a slower clocked Intel chip. Pathetic. AMD CPU’s are garbage.
Those 2 fps are a lead over a
Those 2 fps are a lead over a CPU which costs considerably more than the FX chip (100€, to be precise).
In addition, the assumption is not based on Crysis 3, but on the available hardware in PS4 and XBONE.
The CPU architecture is the same as in the FX chips.
Naturally, any cross platform game will benefit from the similar CPUs.
The same is true for the GPUs and Mantle.
Both MS and Sony may claim, the APIs for their consoles are their own, but the HW is from AMD and they certainly have provided the libraries and coding guides – this strongly points to Mantle.
PS4 and XBOne both utilize
PS4 and XBOne both utilize Jaguar based cores… FX chips are Piledriver. There are HUGE differences between those products. Do not automatically assume that titles optimized for those 8 core, Jaguar based units will automagically work better on Piledriver based CPUs/APUs. Hell, Steamroller has far more in common with Piledriver than Jaguar.
Bulldozer/Piledriver cores
Bulldozer/Piledriver cores run at twice the clockspeed of the Jaguar cores. That should be sufficient to overcome any specific Jaguar optimizations.
But Intel’s last several
But Intel's last several generations of i7/i5/i3 processors all have better IPC than Piledriver and run at the nearly the same clock rates… so shouldn't they also overcome those Jaguar optimizations as well? So its a push when it comes to desktop processors when dealing with this code?
Will mantel only support
Will mantel only support APU’s running GCN cores.
Will it support FX series.
Is it just a new render that substitute DX11 or is it hardware(architecture) and software change.
Also do you think it will only support PCIE 3.0 or backward compatible. So many questions about this…
For the time being it looks
For the time being it looks like it will only support GCN based graphics. So Llano, Trinity, and HD 6000 series and below may not work with Mantle… but we don't know that for sure. My guess is that anything less than GCN will not be supported.
FX series? You mean the CPUs? If so, then no… it will only work on GPUs.
Mantle won't care if you use PCI-E 1.0. It is an API that communicates in a very direct manner with the GPU.
According to the claims from
According to the claims from dice, Mantle reduces the overhead so much, that they finally can really use all CPU cores available for a game.
So Mantle has an indirect effect on the CPUs and will even improve the performance in this regard.
If that is the case, then I
If that is the case, then I am really excited to get to test this out come December.
Is Mantle open API? If it
Is Mantle open API? If it is, will Nvidia adopt it?
If Nvidia does adopt it why would Valve not then implement Mantle into their OS?
Mantle is not an open API.
Mantle is not an open API. It is essentially a tool that allows programmers to more directly access the GPU, without multiple layers of software dictating behavior.
NVIDIA cannot adopt it because it is AMD's API, and furthermore their GPU designs are totally different, so such a low level API will not work at all for NVIDIA hardware. They would need to do some kind of emulator to sit between Mantle and their GPU (which has been done in the past for D3D/GLIDE games), but that emulator will likely have just as big of a performance hit as when using standard DX11/DirectX.
Techspot confirmed that
Techspot confirmed that Mantle is an open API.
“We’ve been told at the GPU14 Tech Day event that the Mantle API is open, so theoretically Nvidia could purpose the technology in their GPUs. It should also make cross-development between PC and console games a lot easier, and also more incredible for those with a high-performance AMD GPU.”
http://www.techspot.com/news/54134-amd-launches-mantle-api-to-optimize-pc-gpu-performance.html
Huh, this is going to be
Huh, this is going to be interesting exactly how this will shake out. Gonna need to get more info out of AMD how exactly they think this can be implemented.
I think it would be possible
I think it would be possible to NVidia to develop a GPU that performs well with Mantle. The real question is will NVidia so do.
I guess anything is possible.
I guess anything is possible. If Mantle is truly an open API, then NVIDIA might be able to develop a lightweight driver that fits between the hardware and Mantle. Perhaps think of it like a mini-GL back in the GLIDE days (remember that Quake/Quake II were developed with OpenGL in mind, but few graphics guys had a full OpenGL ICD available. We will find out more at APU14 when they disclose more of the specifics.
So am i right in thinking
So am i right in thinking this is sort of like low level hardware access to that what developers can get in the consoles for example?
If so, this will be really interesting.
You are absolutely correct.
You are absolutely correct. While the consoles do use D3D (XBOne) and OpenGL (PS4), those software layers are very optimized and have very low overhead. This is because the driver model does not have to be so general as to support multiple hardware combinations.
Seriously, Josh is one of the
Seriously, Josh is one of the best writers in the tech industry.
Well thanks, I appreciate it.
Well thanks, I appreciate it. But there are some seriously good writers out there that outstrip me.
hes so modest
hes so modest
I hope AMD won’t abandon 7000
I hope AMD won’t abandon 7000 series users let’s hope DX 11.2 and Mantle are coming to the 7000 series, fingers crossed.
I’m pretty sure that DX 11.2
I'm pretty sure that DX 11.2 and Mantle will be coming to the HD 7700 series and above. Especially since most of the A7 and A9 series (except 290/290X) are all rebrands of current HD series GPUs based on GCN.
Sorry, but it is move back to
Sorry, but it is move back to 90s and fragmentation. DirectX doesn’t impose that huge overhead, but definitely allows for uniform access.
Mantel is just another name for vendor lock-in and new Glide. There is no advantage for us gamers or for us programmers. We won’t get better graphics, we will just get incompatibility. AMD shouldn’t be praised for this, because it is even worse then PhysX…
Uniform access? You mean
Uniform access? You mean like vendor locked to M$haft.
No, a new lower level cross platform API is totally win.
This is a sad day. All my
This is a sad day. All my excitement for how consoles would benefit pc gaming is gone now that I see that AMD wants all the cross platform games to only run well on their video cards. I was completely against Nvidia during their physx days and likewise I wont support AMD during their mantle days. Just when pc gaming was finally starting to pick up again, fragmentation from steam os and amd mantle are going to drag us right back down.
Meh, that’s a bit of an
Meh, that's a bit of an overreach. It is a feature that AMD is offering, but it certainly won't cut the other players out. NV and Intel have a lot of pull. Intel is getting VERY serious about graphics these days, so they won't put up with a lot of nonsense. Plus then we also have the guys in the mobile space… Imagination Tech/PowerVR, Qualcomm/Adreno, and ARM/Mali.
I have a theory about how all of these things are going to shake out… but I need to get more information to discuss it at length.
It’s a sad day because a
It’s a sad day because a cross platform open API that let’s multiplatform game developers port their console games to PC with console optimization AT NO EXTRA COST?
AMD just give A LOT MORE value to their customers, unlike some that promote proprietary format, and those who removes modest ‘free’ overclocking…
Or it’s a sad day because you like companies other than AMD?
Tell me more about your “sad day”.
We are not entirely certain
We are not entirely certain that porting from PS4/3 or XBox/XBOne to Mantle will entail no extra cost. My understanding here is that while the APIs for consoles are pretty lightweight and allow for a great deal of control by the software guys, they are not identical to what Mantle is. I like that we have more flexibility in the future for the PC, but I don't think that it will be free for any software/game dev to port to Mantle. DICE, with the help of AMD, will only be releasing their Mantle implementation about 2 months after the release of BF4. The BF4/AMD deal has cost AMD millions of dollars to not only get them into the Never Settle, but also to help pay for the implementation of BF4/Mantle.
My gut feeling here is that
My gut feeling here is that it will have an impact on gaming much like PhysX has. Sure, they are in games, but most of it is using the CPU fallback rather than GPU accelerated. I think that we will see a few titles which will use this, but I really don't think that most developers will spend the extra time and money to develop a Mantle pathway. Time and money will trump all when it comes to developers, and unless you are a guy like Carmack who does such things for fun and self-education, I think the impact Mantle will have will be pretty insignificant.
But isn’t that the wrong way
But isn’t that the wrong way around….most games are developed with the console as priority as that’s where the money is…if the consoles are using low level api’s similar to Mantel then the question is surely whether they would spend the extra dolar to make D3D/OpenGL versions for PC instead of just shipping them in Mantle versions.
So all those NVIDIA and Intel
So all those NVIDIA and Intel graphics customers have no choice but to either buy an AMD card or skip the game altogether?
But isn’t that the wrong way
But isn’t that the wrong way around….most games are developed with the console as priority as that’s where the money is…if the consoles are using low level api’s similar to Mantel then the question is surely whether they would spend the extra dolar to make D3D/OpenGL versions for PC instead of just shipping them in Mantle versions.
Fantastic article as always
Fantastic article as always Josh, thank you.
nice article Josh,
the fact
nice article Josh,
the fact that there is a defined performance hit using the high level programming should be a wake up call on its own. though you always get some performance impact usually it is not that much, but over the years the levels of coding have increased from those years done as you say “at the metal”
to perform programming with little additional resource impact but at a low level that increases performance- well that is a win-win scenario
What does this Mantle move do
What does this Mantle move do for AMD’s OpenGL support, and the open source graphics programs, and other software that use OpenGL? Will there be continued support for openGL standards and legacy applications?
P.S. Your website Locks UP IE 9, and my computer for about 30 sec. before Your page finally loads.
It really shouldn’t have any
It really shouldn't have any negative effect on OpenGL. AMD will still develop drivers for D3D and OpenGL, not to mention OpenCL and other GPGPU languages.
Not sure why the website locks up your browser… will pass that info along.
Great read cheers Josh. Just
Great read cheers Josh. Just getting my head around this a bit but would it not pay for MS and Sony to adopt this mantle as well? Unless I am missing something and they already are, it seems the obvious choice to me.
Since Sony and MS build their
Since Sony and MS build their solutions around these chips from the ground up, they already are running software that is close to the metal. There is no reason to put these thick abstraction and OS layers over draw calls if developers are only writing code for very specific hardware configurations. It is like compiling Linux on a single machine. You only have to include the basic stuff you need for the hardware that is present.
Makes sense cheers for
Makes sense cheers for clearing that up.
I figure it will make sense
I figure it will make sense for the game studios to adopt this for console-oriented games, esp. if both XBox and PS4 support it (which AMD will make happen, I’m sure). This will in fact make ports of those games easier and better-performing, for AMD-based cards. Should blunt the advance of NVidia, as well as making Intel’s increasingly performant graphics solutions less desirable.
DICE presentation mentioned
DICE presentation mentioned several improvements in CPU accessing and rendering performance with Mantle API. Im very curious to see what gains we will get in real-world tests (BF4).
http://www.techpowerup.com/img/13-09-25/mantle3.jpg
Absolutely. Proof is in the
Absolutely. Proof is in the pudding? That is the test we are all waiting for. DICE has also been enthusiastic for using up to 8 threads in their games… and utilizing the latest 4 module FX cores. Everyone is very curious about how BF4 turns out.
I have voiced this a few
I have voiced this a few times, but for people that can remember back to when MS didn’t use NT based OS, the old Windows 9x windows how unstable things could get when programs have low level access to the hardware. With it not using DX, wonder what kinda graphic’s different there will be.
Excellent article Josh, very
Excellent article Josh, very interesting too. I am curious about this mantle, lets hope it is a step up for AMD, if it is. Then AMD needs too focus on making there APU # 1 if they could do it. PC gamer out.
Josh: do you know if Mantle
Josh: do you know if Mantle handles the new audio “onboard” on the video card ?
They have not given us such
They have not given us such details at this time. It might, but the audio stack in Windows may not allow such direct control? I'm not ruling it out though, it is a complex implementation considering what happened with hardware audio when Vista came out and MS took over the audio stack in software.
Thanx Josh.
I was dreaming
Thanx Josh.
I was dreaming about the possibility to handle sound source very much like light source, in the same 3d virtual world.
Every mob that can be draw in 3d could have its attached sound properly propageting, reflecting etc.
Hundred of sounds all at once.
Bye.
I believe that what you have
I believe that what you have described is what Aureal was attempting to do before they were litigated into oblivion.
From many dev interview I
From many dev interview I read before these anouncement, they were asking this kind of Mantle
so AMD respond to it specialy cause now all platforme can have GNC gpu
so it’s a saving of time for dev that what more controle on their render
for NVIDIA to bad maybe… but they can also propose same tool for dev that want to push theire card
but it’s a good thing for PC cause now wee can expect beter optimize game developped for console in first place
“dev that want”
“dev that want”
Thank you for removing the
Thank you for removing the crust of obfuscation to get right to the core of Mantle, even though you had enough on your plate already, so it wouldn’t have been your fault if you’d drifted off to another topic…
I’m on a roll!
Well, if you are expecting to
Well, if you are expecting to see a seismic shift in the marketplace, then perhaps you should look elsewhere for the generation of a tsunami-like event. The plume of information that we were given was not actually as extensive as we had hoped, but hopefully this information will not be subducted by an upthrust of new information from other movers and shakers in the industry.
Good, no?
That was igneous! I mean
That was igneous! I mean ingenious!
Source:
Source: http://wccftech.com/battlefield-4-frostbite-3-support-amd-mantle-nvidia-nvapi-apis-pc-optimizations/
Main points:
(1) Frostbite 3 will render natively with Mantel on Windows
(2) Full access to graphics hardware capabilities
(3) Lots of low-level optimizations
(4) Frostbite 3 will be used in 15+ AAA titles
(5) Mantle is a low-level high-performance console-style graphics API for PC
(6) Built by AMD in close collaboration with DICE/EA