NVIDIA, AMD, Intel Explain How OpenGL Can Unlock 15x Performance Gains

HardOCP News

[H] News
Joined
Dec 31, 1969
Messages
0
NVIDIA teamed up with AMD and Intel to deliver good news at this week’s Game Developer Conference in San Francisco. AMD’s Graham Sellers, Intel’s Tim Foley, and our own Cass Everitt and John McDonald appeared on the same panel to explain the high-level concepts available in today’s OpenGL implementations that reduce driver overhead by up to 10x or more. With OpenGL, an open, vendor-neutral standard, developers can get significantly better performance – up to 1.3 times. But with a little tuning, they can get 7 to 15 times more performance. That’s a figure that will make any developer sit up and listen.
 
So what was the point of Mantle? Was it just some stimulus to get stuff rolling with DX and OGL? Seems a bit pointless with all these revelations.
 
Remember the source: a nVidia blog....;) nVidia is famous for putting words in other company's mouths. Most likely, this is nVidia's way of trying to horn in on the API front, since nVidia has actually nothing else to say on the subject of 3d APIs. It's certain this has nothing whatever to do with Mantle.
 
Would be nice to see opengl games coming out again. A long time ago when openg finally lost out in the gaming market and DX became the only option, I was sorry to see it go. Here's to a strong return.
 
So what was the point of Mantle? Was it just some stimulus to get stuff rolling with DX and OGL? Seems a bit pointless with all these revelations.

It was a marketing tactic to sell hardware.

This stuff has been in OpenGL for years now, in some form, whether it be vendor extensions or ARB extensions (in 4.2, 4.3 and 4.4). With Valve pushing Linux gaming, there's been more talk about what OpenGL can do.
 
Interesting how Mantle has suddenly stirred up Microsoft and Nvidia with all these new announcements about DX12 and OpenGL.
 
Interesting how Mantle has suddenly stirred up Microsoft and Nvidia with all these new announcements about DX12 and OpenGL.

Funny thing about that; NVIDIA claims DX12 has been cooking for 4 years now:

http://blogs.nvidia.com/blog/2014/03/20/directx-12/

Speaking to a crowd of about 300 developers and press, Anuj Gosalia, development manager of DirectX at Microsoft, described DX12 as the joint effort of hardware vendors, game developers and his team. Our work with Microsoft on DirectX 12 began more than four years ago with discussions about reducing resource overhead. For the past year, NVIDIA has been working closely with the DirectX team to deliver a working design and implementation of DX12 at GDC. - See more at: http://blogs.nvidia.com/blog/2014/03/20/directx-12/#sthash.TNl0lS67.dpuf

Now, knowing AMD would be very well aware of any spec changes to the DX API, they still publicly claimed this:

http://www.hardwarecanucks.com/news/amd-roy-taylor-directx12/

“There will be no DirectX 12. That was it. As far as we know there are no plans for DirectX 12. If this should not be, and someone wants to correct me – wonderful.”

And just a few months later, AMD releases Mantel, which looks a LOT like the DX12 API. Which supports the same exact hardware that DX12 supports. The same hardware that is also a part of the XB1, which will also benefit from DX12.

Which makes you wonder exactly WHY Mantel and DX12 look so close to eachother. I think its possible, if not probably, AMD "borrowed" parts of the API and tried to pre-empt the market for their own gain.
 
why would they include dx12 in the xb1 if supposedly amd stole it from the xb1? cause it isn't .

why would microsoft or nivdia say there was no need on the pc for a low level api when mantle was release and yet now be on board ?

dx12 might ve been in work for 4 years , but with the same low level access? considering the 2015 holliday release. Don't think so.

Nvidia said that opengl had already all the tools to do what mantle does. Where they doing it ? nopee.
Nvidia distortion field is starting to be on par with apples.

Mantle is still viable for amd even if that makes some ppl sore.
 
Ahem!

"The announcement of DirectX 12 was a big focus of attention at GDC yesterday. The new API will bring Mantle-like low level access to the hardware, reducing the CPU overhead. The OpenGL talk 'Approaching Zero Driver Overhead in OpenGL,' on the other hand, received considerably less media attention. The OpenGL camp maintains that the features to reduce CPU overhead are already present in the current version. They suggest using the extensions such as, multidraw indirect combined with bindless graphics and sparse textures, OpenGL can get the similar 'close to the metal' performance as Mantle and DirectX 12."[/qoute]
 
why would they include dx12 in the xb1 if supposedly amd stole it from the xb1? cause it isn't .

AMD would have been INVOLVED in creating the spec for DX12, just like NVIDIA (and probably Intel, maybe Qualcomm) was. Future DX12 support was likely a requirement for getting a GPU into the XB1, which is why it shouldn't be a surprise no pre-GCN GPU's are supported for DX12 (compared to everything going back to Fermi for NVIDIA).

why would microsoft or nivdia say there was no need on the pc for a low level api when mantle was release and yet now be on board ?

Mantel isn't a low-level API, its a mid-level API. A low level API would be like the PS3/PS4 libgcm graphics library, which allows direct access to hardware resources (which Mantel does NOT allow). For PC's, there is no need for such an API (nevermind the massive holes to security if one were allowed).

dx12 might ve been in work for 4 years , but with the same low level access? considering the 2015 holliday release. Don't think so.

Yes actually. That low level access is likely why the API took so long to come out, since a lot of verification and validation of the data would need to be done prior to the spec getting released. Also consider the ~18 months to create a game, which, if the spec were released TODAY, would equate to sometime early fall 2015 for the first games built around it to come out. So the timeline would indicate the spec and first developmental test drivers will be going out to developers relatively shortly.

Nvidia said that opengl had already all the tools to do what mantle does. Where they doing it ? nopee.

Because OGL is a PITA to code in. That's why most Linux games just use a DirectX to OpenGL wrapper, rather then re-code the graphical backend in OGL. OGL made a lot of poor design decisions going back to the original spec, and that's why people stopped using it. DX also has a far superior toolchain, which is very important in development.

Secondly, the ARB functions in question have been supported in both AMD and NVIDIA's drivers for over a year now. Its up to the devs to actually use them. Which is hard, given the lack of OGL titles out there.
 
Nvidia is known in the industry as the king of hype. Bought into their hype with Tegra3 and learned the hard way.
 
How can Dx12 be a hype and Mantle isn't, and vice versa? OGL FTW, oh wait, we are screwed.
 
It's "can get 7 to 15 times more performance" vs a naïve OGL implementation, not that much over D3D. :p

But it's great that OGL is pushing how it can lower driver overhead using particular methods, despite how disingenuously the inflated improvements are being used, because it puts more pressure on MS to fix D3D's overhead problems which developers have been complaining about for over a decade.
 
Because OGL is a PITA to code in. That's why most Linux games just use a DirectX to OpenGL wrapper, rather then re-code the graphical backend in OGL. OGL made a lot of poor design decisions going back to the original spec, and that's why people stopped using it. DX also has a far superior toolchain, which is very important in development.

I don't disagree that OpenGL is a PITA, but OpenGL practically dropped off the map only when Microsoft announced that OpenGL was going to be layered over Direct3D in Vista. When this was happening Khronos said it would reduce the performance by 50%. 3 years of FUD later it was announced that Vista would support OpenGL natively.
 
I'm a little confused here. I noticed all the love for AMD and hate for Nvidia, MS, OpenGL etc and I can't figure out why. Since when is a proprietary API like Mantle good for us consumers? Wasn't Nvidia criticized for their Physx product since it's proprietary for them? Why the double standard? Any logical explanation would be greatly appreciated.
 
I'm a little confused here. I noticed all the love for AMD and hate for Nvidia, MS, OpenGL etc and I can't figure out why. Since when is a proprietary API like Mantle good for us consumers? Wasn't Nvidia criticized for their Physx product since it's proprietary for them? Why the double standard? Any logical explanation would be greatly appreciated.
Probably because AMD has said that Mantle will be open for anyone to use, including nVidia. But time will tell if that holds true, hope it does but who knows until the time comes.
 
I don't disagree that OpenGL is a PITA, but OpenGL practically dropped off the map only when Microsoft announced that OpenGL was going to be layered over Direct3D in Vista.
That was only for windowed OGL apps running with Aero Glass enabled. OpenGL runs at full speed with Glass disabled for windowed apps (which is why many desktop OGL apps disabled Glass when running and restored it on exit), and in full screen whether or not Glass is enabled. The reason why is that both APIs can't take control of the same hardware at the same time.

The popularity of OpenGL under Windows, particularly for games, had been dying long before Vista was released. The incompatible extension mechanism and ARB paralysis for years really hurt the API. Plus new feature availability appear in D3D releases first, and the debugging tools for D3D are far superior to anything available for OpenGL. There are very few ideological masochistic developers who stick with OpenGL for gaming under Windows.
 
Probably because AMD has said that Mantle will be open for anyone to use, including nVidia. But time will tell if that holds true, hope it does but who knows until the time comes.

I get that they stated it would be "open" for everyone. But what company would be foolish enough to adopt an API that was designed around their competitor's products? Nvda's share holders would have flipped. My point is AMD knew there was a 0% chance that Nvidia would adopt Mantle which means they were going proprietary all the way. So my question still stands, when is a proprietary API good for consumers and why the double standard?
 
Probably because AMD has said that Mantle will be open for anyone to use, including nVidia. But time will tell if that holds true, hope it does but who knows until the time comes.

By the way, I appreciate the well mannered reply. Often times the Nvidia/AMD discussions leads to strange behavioral patterns in humans. ;)
 
OpenGL driver developer on twitter for AMD said that if OpenGL isn't equivalent to Mantle then he has failed his job. In addition, AMD has been working on DirectX12 with Microsoft. Why did AMD bother with Mantle when in 1-2 years DX12 will be released? What is the point of making another API when OpenGL is suppose to be as fast as Mantle and DirectX12 will be too (maybe).
 
All games will still be created for direct x12, mantle will be implemented in games where it can be, as mantle's biggest proponent is taking loads of tasks off the cpu, so this will help low end systems. DX12 or OGL will never be able to circumvent the cpu like mantle can, so it will have its place.
 
OpenGL driver developer on twitter for AMD said that if OpenGL isn't equivalent to Mantle then he has failed his job. In addition, AMD has been working on DirectX12 with Microsoft. Why did AMD bother with Mantle when in 1-2 years DX12 will be released? What is the point of making another API when OpenGL is suppose to be as fast as Mantle and DirectX12 will be too (maybe).

I've wondered that myself. The only answer I have come up with is that they had to develop something internally as a support tool for driver development and 3rd party support for development so that OGL and D3D could be as fast as possible in less time or not accidentally critically broken when it hit market and that titles with the AMD logo could hit the market in close proximity to the new APIs. And why not use it as a marketing tool roughly around the time DX12 has to be getting finalized anyway, since at that point it will no longer be a potential competitive advantage?

As for why push OpenGL from any of them? Mobile. Even if they aren't going to be a major player in that arena, it's going to factor into cross platform development sooner rather than later, and they want to keep the pipeline compatible.
 
I've looked through the slides for the presentation and indeed it makes NO CLAIMS that overall performance measured in FPS would be increased 7 to 15 times. There are examples of grouping requests together, or using arrays, etc. etc. that reduce OVERHEAD by 7 to 15 times. For example 10x more objects can be processed for certain calls.

Most of the slides dealt with techniques to use the EXISTING OpenGL calls in a more efficient manner to reduce overhead. But there was definitely one portion that described using a new OpenGL function.

So just an over sensationalized headline by nVidia. Not a lie, but not true. Certain calls will be able to have 7 to 15x gains, but overall... not so much.

http://www.slideshare.net/CassEveritt/approaching-zero-driver-overhead
 
I get that they stated it would be "open" for everyone. But what company would be foolish enough to adopt an API that was designed around their competitor's products? Nvda's share holders would have flipped. My point is AMD knew there was a 0% chance that Nvidia would adopt Mantle which means they were going proprietary all the way. So my question still stands, when is a proprietary API good for consumers and why the double standard?

You keep using that word, but I don't think it means what you think it means.
 
I've looked through the slides for the presentation and indeed it makes NO CLAIMS that overall performance measured in FPS would be increased 7 to 15 times. There are examples of grouping requests together, or using arrays, etc. etc. that reduce OVERHEAD by 7 to 15 times. For example 10x more objects can be processed for certain calls.

Most of the slides dealt with techniques to use the EXISTING OpenGL calls in a more efficient manner to reduce overhead. But there was definitely one portion that described using a new OpenGL function.

So just an over sensationalized headline by nVidia. Not a lie, but not true. Certain calls will be able to have 7 to 15x gains, but overall... not so much.

http://www.slideshare.net/CassEveritt/approaching-zero-driver-overhead
What you expect it's not more auspicious than AMD's Mantle articles or hell their own articles regarding openGL and Dx12 changes.
 
You keep using that word, but I don't think it means what you think it means.
Well it's not like AMD, Google or any large company knows what an open standard is either, it's nothing more than a buzzword to business. But yeah even if Nvidia adopts mantel it would still be proprietary.
 
I'm a little confused here. I noticed all the love for AMD and hate for Nvidia, MS, OpenGL etc and I can't figure out why. Since when is a proprietary API like Mantle good for us consumers? Wasn't Nvidia criticized for their Physx product since it's proprietary for them? Why the double standard? Any logical explanation would be greatly appreciated.

Because when people are in herds, they become sheeple. ;)
 
Thank bloody god. Technically the latest OpenGL supports all the fancy visual stuff and more than the latest DirectX, and often at a performance premium. If this turns out to be true that such a large perf premium going forward is true, then perhaps everyone who drank the Microsoft koolaid will finally start using a completely open and platform independent API, as it should be. If it turns out that Mantle is also a huge boon to performance and quality, and is actually completely open (AMD developed it, but makes the spec available for even Nvidia to support if they wish, and open to just about any game developer or engine-crafter), so much the better.

Its time for open, platform independent standards, APIs, toolkits, etc... to be the primary choice. It just makes sense and will enable everything to be more easily ported to just about anywhere.
 
AMD would have been INVOLVED in creating the spec for DX12, just like NVIDIA (and probably Intel, maybe Qualcomm) was. Future DX12 support was likely a requirement for getting a GPU into the XB1, which is why it shouldn't be a surprise no pre-GCN GPU's are supported for DX12 (compared to everything going back to Fermi for NVIDIA).

Yes, yes, yes. You know, reading some of these comments I am surprised by the folks who don't know that Microsoft puts the D3d API versions together in response to input from AMD & nVidia. Microsoft doesn't in any way tell AMD & nVidia what to do...;) Whatever is Mantle-like in DX12 (which we won't see for another year or so, IIRC) comes directly from AMD as Microsoft would have no other source for it. AMD even makes Microsoft's xBone hardware, cpu and gpu included.

AMD, I'm sure, would like nothing better than for Microsoft to get off of its butt and get in gear and do some neat Mantle-like stuff with D3d! It would save AMD a lot of work. But if Microsoft won't do it, apparently AMD is going to give it a good whack, anyway. Microsoft has made many promises about PC gaming in general through the years that it has not fulfilled. I think this is a case of being like Missouri, the "Show Me," state...;) I hope Microsoft is sincere but I will not hold my breath waiting on it. Meanwhile, Mantle is being developed and released *now.*
 
Nvidia said that opengl had already all the tools to do what mantle does. Where they doing it ? nopee.

NVIDIA has been giving this particular presentation for over a year now. Maybe they should have flown everyone out to Hawaii and hired Big Bird and Elmo to give the presentation so they could get some headlines.

Even this week, you see that the big headline from yesterday is about DX12 coming in 2015, not about "Near Zero Driver Overhead in OpenGL" available today.
 
There are very few ideological masochistic developers who stick with OpenGL for gaming under Windows.

There are very few reasons not to use OpenGL though, not unless you're a game developer that is limiting yourself to Microsoft platforms for very specific reasons.

The thing is that this isn't 2006 anymore. The Playstation 3 and 4, iOS, OS X, and Android are all popular gaming platforms at this point. The number of Windows to non-Windows ports in the mid-2000s was almost nil. Now it is very common because Microsoft no longer has monopolies on gaming platforms. The work to port from DX to OpenGL used to take weeks. According to a friend at Bethesda, the work to port these days is roughly a weekend.

The cost to have compatibility across multiple platforms, especially now that Sony is a leader in console games and Apple is a leader in mobile games, has dropped substantially. Depending on the platform you can actually lose money by sticking with DX only. Developers have had OpenGL as a regular part of their toolkit because of this.

Even Source 2 engine is being built specifically around OpenGL.

DX isn't going anywhere but the trend towards open standards is definitely not stopping. Developers can't afford to ignore non-MS platforms anymore.
 
NVIDIA has been giving this particular presentation for over a year now. today.

*tiny violin* No they went to Montreal. It's a nice place.:cool:

At Valve day, nvidia showed some good things with opengl api and porting to linux which was promising for Steamos and what not.
 
There are very few reasons not to use OpenGL though, not unless you're a game developer that is limiting yourself to Microsoft platforms for very specific reasons.

The thing is that this isn't 2006 anymore. The Playstation 3 and 4, iOS, OS X, and Android are all popular gaming platforms at this point. The number of Windows to non-Windows ports in the mid-2000s was almost nil. Now it is very common because Microsoft no longer has monopolies on gaming platforms. The work to port from DX to OpenGL used to take weeks. According to a friend at Bethesda, the work to port these days is roughly a weekend.

The cost to have compatibility across multiple platforms, especially now that Sony is a leader in console games and Apple is a leader in mobile games, has dropped substantially. Depending on the platform you can actually lose money by sticking with DX only. Developers have had OpenGL as a regular part of their toolkit because of this.

Even Source 2 engine is being built specifically around OpenGL.

DX isn't going anywhere but the trend towards open standards is definitely not stopping. Developers can't afford to ignore non-MS platforms anymore.
You seem to be confused between render paths and game engines.
 
OpenGL is the way to go. With most games being cross platform, using proprietary MS junk that's tied to the latest Windows release is a bad strategy.
 
OpenGL is the way to go. With most games being cross platform, using proprietary MS junk that's tied to the latest Windows release is a bad strategy.

^ This. Micro$haft wanted to kill OpenGL by forcing it through Direct-X so that devs would just code to Direct-X and forget OpenGL. Windows PC's aren't the only game in town anymore, and mobile is not going to be dominated by Micro$haft the same way the PC is. OpenGL just makes sense there.
 
Back
Top