Who needs DirectX? AMD, Nvidia, and Intel team up to demo ultra-efficient OpenGL

This site may earn affiliate commissions from the links on this page. Terms of use.

Most of the focus at Nvidia’s Games Developers Conference (GDC) event has been focused on DirectX, but a rare three-way presentation between Nvidia, Intel, and AMD has emphasized that Microsoft’s API isn’t the only place where innovation happens. According to the trio, it’s absolutely possible to deliver huge OpenGL performance improvements and to significantly reduce driver overhead.

According to the presenters (Graham Sellers, Tim Foley, John McDonald, and Cass Everitt), OpenGL already has solutions in place that can drastically reduce driver overhead and improve performance in certain areas. Even more importantly, support for these functions is, to use their phrasing, “at least multivendor (EXT) and mostly core (GL 4.2+).” The capability exists in the vast majority of shipping solutions today.

The discussion (the full presentation is available on Nvidia’s blog page) focuses on optimizing workflows and using OpenGL capabilities like persistent mapping, sparse texturing, and packing textures into 2D arrays. Each company talked about a different focus of the problem, and much of the discussion is frankly over my head — I’m not a programmer. Some of the performance claims for these methods, however, were quite impressive.

How is OpenGL positioned against DirectX 12, Mantle?

We turned to Graham Sellers, the self-described “OpenGL guy” at AMD and author of the OpenGL Red Book, for some additional context around the API’s capabilities. If OpenGL is capable of delivering all these improvements, why does Mantle exist at all — and why haven’t developers taken advantage of them already?

According to Sellers, OpenGL doesn’t necessarily have the best reputation with game developers. AMD, Nvidia, and even Intel have all spent more than a decade talking up Direct3D as the future of gaming. id Software used OpenGL for titles like Doom 3 and Rage, but most of the support for OpenGL in gaming has been on the Linux and Mac side of the equation.

While it’s true that Nvidia may have stepped up its focus on OpenGL’s advantages, Sellers also points out that AMD and Nvidia have been talking about building better implementations of OpenGL software for the past 3-4 years. Developer interest in OpenGL performance has increased over the past few years thanks to the advent of OpenGL ES and Valve’s decision to build its own Linux-based Steam Box. Further support from Valve could help put the Steam OS on an equal footing with Windows.

Sellers also clarified that taking full advantage of OpenGL’s low overhead features will take some work. According to him, taking full advantage of the API requires “game engine and tool-chain changes, and is somewhat of a shift in paradigm compared to what traditional graphics is today.”

The flip side to this, however, is that these shifts might product improvements even more impressive than what DirectX and Mantle offer — and they’re available to an even wider range of hardware. Mantle is AMD-only. DirectX 12 will run on Fermi, Kepler, Maxwell, and GCN but won’t be available until late 2015 at the earliest. OpenGL, in contrast, is available now.

I think it’s fair to be skeptical about whether this marks a turning point for OpenGL’s widespread use as a gaming API, but keep in mind that these are technical talks, not marketing-driven presentations. The goal of such sessions is not to persuade programmers that OpenGL is the best in a hypothetical three-way with Mantle and a future DX12 but to present them with practical implementation ideas for driving maximum performance now.

Sellers implied that OpenGL may actually be able to deliver greater performance efficiency than either of the other two APIs because both Mantle and DX12 appear to be focused on reducing the cost of switching states and assembling data. These are huge factors in certain circumstances (we’ve seen the positive impact on AMD CPUs), but it’s still just one aspect of total driver overhead. OpenGL offers these benefits and others — it’s just that not many companies or vendors have tried to squeeze better performance out of the API (though Valve made headlines with its own OpenGL porting efforts in Left 4 Dead 2.

Shifting focus could give OpenGL a window of opportunity

There’s reason to be cautiously optimistic. One could argue that the reason CPU overhead has suddenly become important in the last few years is because CPUs no longer scale the way they used to. It’s no accident that when Nvidia went back to build Maxwell, they prioritized saving power and improving efficiency even on the same process node. With CPU speeds largely stagnant, a greater emphasis is being placed on reducing bottlenecks and improving performance by building better hardware and better software.

Combine that trend with the fact that Windows and Direct3D exert less influence over the total universe of game development now than perhaps at any previous point in history. OpenGL may still account for a fraction of the API space, but its market share is growing thanks to the influx of mobile developers. With Valve throwing its weight behind Linux and more attention being given to squeezing more performance out of existing hardware through improved software efficiency, OpenGL could mount a quiet comeback campaign over the next 12-18 months.

Tagged In

Any doubting this will happen doesn’t know Google .android work weeks and weeks for barely noticible change .and Google would ignore sparse fast Fourier transform and opengl 2014 because?its too much work?ROFL .they do this kind of change very often
So we can be sure everything in android that today use fast Fourier transform ,will get the 2014 sparse fast Fourier transform ,and if there are opengl gain to be had that require programmer helbo grease to make happen ?you can sure be android will get those too.this is after all the #1 os on the planet we talk about here!

Antoine Talbot

Promoting Android trought a meaningless post?

James Tolson

one of the many many reasons i have stuck with windows Xp is because i use 3d modelling software that utilizes OpenGL, From Windows Vista onwards Opengl is Redirected through DirectX and Performance is Dire compared with it running Natively and Fully hardware accelerated on Windows Xp

VirtualMark

If that’s true, how does ID’s Rage run on Windows 7 so well?

James Tolson

as far as i know this does not effect games that open their own screens using Opengl as an Api rather than direct X.. However from what i remember (bin a while, since i used vista or windows 7).. because Windows Aero uses direct X (and windows classic is software emulated) it means No OpenGl hardware overlay and most if not all OpenGL calls are redirect through Direct X instead, meaning performance of OpenGl in desktop applications is severely hampered, hope that clears it up :-)

Microsoft initiated a fear, uncertainty, and doubt (FUD) campaign against OpenGL around the release of Windows Vista. In 2003, Microsoft left the OpenGL Architecture Review Board — showing that they no longer had any interest in the future of OpenGL. Then in 2005, they gave presentations atSIGGRAPH (special interest group for graphics) and WinHEC (Windows Hardware Engineering Conference) giving the impression that Windows Vista would remove support for OpenGL except to maintain back-compatibility with XP applications. This version of OpenGL would be layered on top of DirectX as shown here, (from the HEC presentation) causing a dramatic performance hit. This campaign led to panic in the OpenGL community, leading many professional graphics programmers to switch to DirectX.

When Vista was released, it backpedaled on its OpenGL claims, allowing vendors to create fast installable client drivers (ICDs) that restore native OpenGL support. The OpenGL board sent out newsletters proving that OpenGL is still a first-class citizen, and that OpenGL performance on Vista was still at least as fast as Direct3D. Unfortunately for OpenGL, the damage had already been done — public confidence in OpenGL was badly shaken.

Dan Rizzatz

This sounds so convoluted. Also, I thought Windows 8 had native open hardware acceleration… Or do they do it some awful way using DX?

Joel Hruska

They don’t do it “some awful way.” They integrated Direct2D support and made it an underlying part of the API for rendering desktop graphics.

Desktop-level GPU acceleration is one of the things Windows 8 got right. Window refresh rates and the overall desktop GUI is much smoother than in W7 — and I run W7 on a system on a high-end Intel rig.

Roger Deloy Pack

that’s funny finally running Direct2D right, didn’t my old voodoo banshee card have accelerated 2D in 1998, at least now they’ve caught up and are using it effectively :) (I know it’s not that bad, just reminded me LOL)

Scali

That is not true. OpenGL runs very well in windowed mode. It only needs to ‘play nice’ with D3D because Aero runs on D3D. But that is not a problem, because there’s a lowlevel way of sharing resources in WDDM, between drivers and APIs (which is also what something like Optimus is based on).
D3D applications basically have the same ‘problem’: they too need to present their backbuffers on an Aero window. This however is very efficient, and does not really affect overall rendering speed.

James Tolson

like i said it has been a while, and i have not looked up any facts before posting a comment, im solely basing it on memory and experience.. but i do remember windows Vista having real issues with WDDM Aero and openGL Applications, whether Microsoft has since fixed this in windows 8 i don’t know, i really don’t lol so feel free to correct me… But i do know this, i fetch up a High detail Model in lightwave Modeller on my Xp rig it works great, smooth and no errors, my friend has a much newer rig than me and more ram running windows 7 64bit, the same model chugs around like its been software rendered with ZERO hardware acceleration at all, but worse are the errors, no smoothing and missing polygons and faces.. no it maybe the fact he uses an nvidia card where as i have an Ati card, but more likely it is for the reason in my comment, and microsoft never changed a thing. but like i said correct me if im wrong :-)

Scali

Sounds like a configuration issue. I’ve been developing OpenGL for years, and the performance difference between XP, Vista, 7 and 8 is negligible.

Joel Hruska

That sounds more like an issue between the NV drivers and Lightwave. Is he using a soft Quadro mod or other workaround?

James Tolson

Lol quadro he wishes, i think its a 9800gt if i remember.. Tried drivers but no avail.. It does work ok on less complex models as he does his own stuff just performance of opengl is pants compared to my older ago rig which i can only attribute to the way windows 7 does deals with opengl

Joel Hruska

It wouldn’t surprise me if it was the drivers themselves. If anything I’d fall back to an old version. However keep in mind that NV purposefully does not test or certify customer hardware for professional applications, and they *don’t* do it for precisely this reason.

If you work in those applications, you’re supposed to buy a Quadro. If you don’t buy a Quadro, you don’t get support and they won’t lift a finger to fix a bug.

James Tolson

I fell out of love many years ago for those very reasons, remember my comment in your other article about not going near nforce chipsets lol.. Nvidia don’t like fixing critical bugs if they chose not to.. One been agp gart driver for 64bit windows vista onwards that has a bug with duel core cpus and causes video card failiure to start issue.. They never fixed it as they consider legacy stuff not worth it… That caused i big uproar in their forums

Brian Kram

Somehow I seriously doubt Microsoft will just let opengl surpass directx on windows.

pelov lov

I really don’t think it matters at this point.

MS has the majority of the desktop gaming crowd, but gaming as a whole is still dominated by OpenGL. Bigtime developers who have solely developed in DX (have a look at EA) have been using OpenGL ES extensively in mobile.

This isn’t a question of ‘dominant platform’ but market share and potential for income. DX is restricted to MS OSes, which means mid-single digits in mobile. OpenGL, though? You’ve got expandability and you’re able to target a significantly more numerous audience. Limiting oneself to DX isn’t the default option any longer, I feel. There’s a lot of money left on the table opting to go that route.

MS has also lost their good faith among the gamer/enthusiast community and has done very little to repair it. We still have console exclusives, delayed releases, and locked features (DX11.1) tied to useless OSes. The future bundling of DX 12 to yet another tablet OS with little to offer isn’t going to sway the naysayers. Unlike MS, Steam actually gives a shit and isn’t in it only for the money.

Had DX12 arrived several years ago and offered compatibility across form factors and devices (this includes mobile) we wouldn’t be having this discussion. But in a year-to-two from now? It’s already too little too late.

Joel Hruska

I’ll never switch to Steam OS. Ever. It involves dual-booting, which is a total killer for me. I might use it for playing *one* incredible game like HL3, but I’d be off and done with it as soon as I finished.

But if Valve’s work creates better APIs, I’m all for that.

Jordan Pt

You’re missing the point of SteamOS if that’s why you’re avoiding it. There’s no reason to avoid it. SteamOS is an “Alternative” to the Windows PC. If you like gaming on your normal PC then Valve is perfectly happy to support you. SteamOS is for people that want a dedicated Gaming rig optimized for Gameplay on a TV. It’s simply another platform Valve is making that you can play your games on without buying them again. If you want a similar experience to SteamOS without having to get another device or install another OS, simply fire up Big Picture mode in Windows and buy a Steam Controller when it comes out. SteamOS is Valve’s garuntee of a platform that won’t limit them. There’s no garuntee that Microsoft’s Windows will stay friendly to Stream in the future so they’re making sure they aren’t stuck there. Valve’s ultimate dream is to let people buy their games through Steam and then play them on any platform. They’d support Android tablets if they could. As long as it means people buy games from them.

Joel Hruska

I’m not missing the point of SteamOS. I’m saying I’ll never, ever personally use it. I don’t own a TV.

I’m not saying “SteamOS is bad.” I’m saying “SteamOS will never, ever be my gaming platform, so whatever benefits Valve builds into OGL need to be cross- platform. But since making them cross-platform would mean no one has a reason to use SteamOS, I’d be surprised if they don’t segregate. “

Jordan Pt

Valve doesn’t really care if most of their customers ignore SteamOS. As I said, their priority is to make it so that their game catalog works on as many platforms as possible, that way more people can buy games from them. They have no interest in making money off of SteamOS, hence why you can download it for free. If more games adopt OpenGL, the more platforms Valve can support, which means more money Valve can make. So for them, SteamOS is a means to an end, instead of the end to the means.

Joel Hruska

Qualcomm’s name is on the DX12 chart for a reason. I think we’ll see NV make a bigger push for DX12 in Windows Phone (though I seriously doubt we’ll see them integrate it into Android).

pelov lov

And restricting it to MS means it won’t gain any traction in mobile… ever :P

The reason you see Qualcomm up there is because they’ve gotten quite cozy with MS on the WP8 side. In fact, up until recently these were the only SoCs that were capable of running WP8.

Let that simmer for a little bit….

I think that alone speaks for MS’s mobile endeavors, really.

eonvee375

who gives a sh!t about what MS is thinking when other companies have billion potential dollars floating in their faces

dc

Open GL, just when you think it’s dead. I’m really glad to see an alternative to Direct X. It’s about damn time.

Phobos

Seems OpenGL might have better luck in Android, than windows.

Joel Hruska

OpenGL ES is part of the Android software stack.

Timothy

They are seriously using all the wrong games. All the games mentioned above preform above expectations. The games I am worried about are ones with hordes of enemy’s all in dynamical situations. I wanna see what the Mantle demonstration should us, 5,000 units fighting each other, your the commander but the units still have their own way of fighting or routine where you place them. They need to make a game where you have a city, then fill the city with 5,000 zombies and start shooting at them all. Also they need to make a racing game where you can go 500 km/hr and turn off the horrible motion blur technology that has not been a solution in my opinion but a plague that looks ugly. Motion blur should come naturally it shouldn’t be implemented in code. The standards for the refresh rate on our tvs are crap and BS. They say we can process more the 60 frames per second in our head, yet we can fly jets in real like at mach 3 or above. Hence why most tv’s are 60 hertz, we need a standard of atleast 240 hertz native latency, and this needs to be implemented in the tv. Next they need to revamp the latency from the cord that connects to our tv, the god dam system bus, the god dam networking and even our god dam latency on the god dam keyboard is bs. This is why we can play fast games and feel like we are really racing or flying. The Frames per second is shit, the god dam latency kills multiplayers games if its over 10 milisecounds or 10 ping for most fast paced games. I am at fcking shock the havnt takin this situation serously my whole life, maybe when Im 100 years old my vision turns to shit, i well get my wish. If that happens Im cloning myself 1000 times and transferring my memory and killing everyone.

Joel Hruska

It’s amusing to me that you’re telling game designers they’re using the wrong games.

Also, we can’t build true 240Hz displays and you wouldn’t notice if you had one. Your eye isn’t capable of resolving that quickly. The fact that we can fly aircraft at Mach 2+ doesn’t mean your reaction times are faster.

It takes a human about 200ms to move a finger. Incredibly quick people can move a finger in about 160ms. People can see the difference between 60Hz and 120Hz refresh rates, but objects appearing on screen for less than about 8ms don’t register. Your eye is good at picking up on variance in the rate of motion, but there’s an absolute threshold of determination.

Golam Annoor Mahboob

You can’t tell for sure unless you experiment.

eonvee375

HAHA look at everyone jumping on optimizations as Moors law is dead!

Plast0000

dead? intel never walked after it correctly till maybe 2009, it’s still on going and it will remain till the end of this era (when it’s 2020)

eonvee375

you cant deny the decline though, and by definition it is not “IT” anymore ^^

Golam Annoor Mahboob

Always open source.
If its good, its great!
If its not, make it great!
Way to go opengl.

Roger Deloy Pack

How does this relate to vulkan?

This site may earn affiliate commissions from the links on this page. Terms of use.

ExtremeTech Newsletter

Subscribe Today to get the latest ExtremeTech news delivered right to your inbox.

Email

This newsletter may contain advertising, deals, or affiliate links. Subscribing to a newsletter indicates your consent to our
Terms of Use and
Privacy Policy. You may unsubscribe from the newsletter at any time.