Why did glide/open GL die off?

Page 2 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

Motorheader

Diamond Member
Sep 3, 2000
3,682
0
0
I remember reading an article years back - maybe 98 or so - regarding gaming and the PC and specifically DX vs GL. One of the things I remember in the interview was that MS was getting a bit concerned regarding the very distinct possibility that PC's may not need to boot into a MS based OS to run games. The whole underlying hardware control after bios boot was handled by the game/game engine.

I just went through a pile of old PC Mags (I save and post-it as I read them - don't ask) tyring to find the article and my google foo has not turned up anything.
 

blackened23

Diamond Member
Jul 26, 2011
8,548
2
0
Yep, microsoft has no interest in furthering PC gaming. They simply want to monopolize everyone into using their API and Xbox live/GFWL. Low level hardware programming would bring performance increases 10 fold, but microsoft won't have it, because we need to use their product. They wanted to charge for GFWL but couldn't because steam is so popular - there's a good possibility that they will charge for xbox live in windows 8.

Its quite clear that most people hate GFWL , hopefully steam will be usable when windows 8 hits.
 

Kalessian

Senior member
Aug 18, 2004
825
12
81
This won't gain a lot of votes on this site, but OpenGL has completely open source implementations and is royalty-free, therefore if you create a game in OGL it is fairly easy to port to other platforms. D3D is tied to windows, and, well, microsoft has the xbox these days.

There's also an open source wrapper available that turns almost all DX9 and some DX10/11 calls into equivalent OpenGL ones, and it has pretty impressive compatibility with many popular PC games.
 

Mars999

Senior member
Jan 12, 2007
304
0
0
I code OpenGL, and reason is cross platform. 1st is PC then OSX/Linux. You are locked in with DX to PC only. Yeah abstract blah blah blah, still needs to be coded and makes more work.

OpenGL is alive and actually growing. Most hand helds iphone, android use OpenGL.

CAD stuff is mostly OpenGL

OpenGL is on par and actually probably ahead of DX11 in features.

OpenGL has some new extensions that allow to by pass some bottle necks that go along with API issues. Can't remember it now....

I have done coding in DX9 back when I was making my choice, and can tell you DX9 DIP() I am looking at you, had a huge overhead cost each call. I coded my terrain renderer in DX9 vs. OpenGL and with OPenGL having shadows and more textures was almost 2x faster than DX9 version...

Anyway this topic is just a flame war, and will never end. All anyone needs to know is both do the same thing under the hood, but one allows you to move around the cabin more freely, both are BIG CYCLE SUCKS!
 

Elixer

Lifer
May 7, 2002
10,371
762
126
GLide was also a subset of openGL.
When dddfx got in everyone's face for making GLide wrappers, they didn't like that one bit, and they threw a huge hissy fit.

As the others have stated, openGL is what you use if you want to reach the absolute biggest audience possible. You use DX only with M$ machines.
 

bryanW1995

Lifer
May 22, 2007
11,144
32
91
I haven't seen any flaming on it, and that certainly wasn't my intent. I was just curious about why open gl and glide weren't (in my eyes) being used much anymore. Apparently open gl is more popular than I remembered, which is fine by me.
 

exdeath

Lifer
Jan 29, 2004
13,679
10
81
Not so sure about that. The API overhead is so big that it bogs down current GPU's for about 70% of their performance. Its pretty sad when PC GPU's are 15x faster than their console counterparts -- but yet struggle to render some DX11 games at 60 fps. Its downright ridiculous.

John Carmack discussed this situation recently, hopefully low level hardware programming will become an option in the future. It is clear that DX11 is a pig (see: crysis 2, metro 2033) and the API overhead is way too large.

Uh no. One of the biggest changes in DX10/11 was eliminating API overhead as much as possible.

What he's talking about is general purpose desktop OS overhead. Every time you call a Win32 API call and many graphics calls, it's the same thing as calling Sleep();. Basically since you are going into kernel mode anyway, it's a good time to switch contexts and call the scheduler for the next thread while you carry out the API request.

Example, fopen translates to NtCreateFile and your code doesn't get to run again until everything else in the system has run a full thread quantum, every single time. And there are ALOT of things running that aren't game related in Win 7.

Perhaps a new version of Windows will have a game mode that suspends the desktop OS entirely and runs the game in a micro kernel with full hardware access. Shouldn't be too difficult implementing hardware virtualization partitioning implemented in modern CPUs. Going back to Windows wouldn't be a fast Alt-Tab, it would be more like Hibernate/Resume when you leave the game and not a single clock tick wasted on non gaming tasks.

What we are really talking about here is comparing a desktop OS to a RTOS. Windows never was suitable in RTOS environments.
 
Last edited:

lamedude

Golden Member
Jan 14, 2011
1,222
45
91
I blame OpenGL ARB. Dec '02 for DX9 vs Sept '04 for OpenGL2. You can't lag behind the competition by 2 years and expect to remain relevant.
 

WhoBeDaPlaya

Diamond Member
Sep 15, 2000
7,414
402
126
Glide was a proprietary 3dfx API. It fell out of favor when 3dfx hardware became outpaced by nvidias GeForce line around 2000.
3Dfx shot themselves in the foot by producing their own branded cards. That and the continual emphasis on 60fps, when nVIDIA was emphasizing IQ.

Canopus RivaTNT + Canopus Pure3D II = ultimate combo :)
 

Karl Agathon

Golden Member
Sep 30, 2010
1,081
0
0
Wasent openGL used with games like Quake 3 and Unreal Tournament? I remember it being a big setting on my then GeForce 2 Ultra in the very early 00's
 

Ancalagon44

Diamond Member
Feb 17, 2010
3,274
202
106
Yep, microsoft has no interest in furthering PC gaming. They simply want to monopolize everyone into using their API and Xbox live/GFWL. Low level hardware programming would bring performance increases 10 fold, but microsoft won't have it, because we need to use their product. They wanted to charge for GFWL but couldn't because steam is so popular - there's a good possibility that they will charge for xbox live in windows 8.

Its quite clear that most people hate GFWL , hopefully steam will be usable when windows 8 hits.

Sigh.

No one is forcing you to use DX, even on Windows. You can quite happily use OpenGL if you prefer - funny that no one does. Must be a reason for it.

The reason, since you wont know, is that API's dramatically shorten development cycles by abstracting details of the hardware away. That allows you to code for a generic display driver rather than a particular piece of hardware. Do away with the API, and suddenly you need to do a lot more work to make sure your code works with Intel, Nvidia and AMD cards. OpenGL performs the same function, just cross platform.

I code OpenGL, and reason is cross platform. 1st is PC then OSX/Linux. You are locked in with DX to PC only. Yeah abstract blah blah blah, still needs to be coded and makes more work.

OpenGL is alive and actually growing. Most hand helds iphone, android use OpenGL.

CAD stuff is mostly OpenGL

OpenGL is on par and actually probably ahead of DX11 in features.

OpenGL has some new extensions that allow to by pass some bottle necks that go along with API issues. Can't remember it now....

I have done coding in DX9 back when I was making my choice, and can tell you DX9 DIP() I am looking at you, had a huge overhead cost each call. I coded my terrain renderer in DX9 vs. OpenGL and with OPenGL having shadows and more textures was almost 2x faster than DX9 version...

Anyway this topic is just a flame war, and will never end. All anyone needs to know is both do the same thing under the hood, but one allows you to move around the cabin more freely, both are BIG CYCLE SUCKS!

OpenGL is way behind DX in features. Dont take my word for it - ask Carmack.
 

BrightCandle

Diamond Member
Mar 15, 2007
4,762
0
76
The open source nature of OpenGL and its relative simplicity and backwards compatibility means that its much more widely available. I agree that initially its usage dropped because it was failing ever further behind DX in implementing the key features of pixel and vertex shader programs. However now the problem seems to be cross platform game development, where DX is easier to port onto the console than OpenGL.

OpenGL is the standard, and in the long haul standards tend to win out over propriety closed solutions, but not always. Doesn't really matter if the propriety thing is better for a while because the standard evolves slowly taking the best bits and then continuing on. We have more fragmentation in terms of different OS use today than we have ever had before, especially with the rising popularity of the mac. This might cause a resurgence in OpenGL usage for games.
 

Ancalagon44

Diamond Member
Feb 17, 2010
3,274
202
106
The open source nature of OpenGL and its relative simplicity and backwards compatibility means that its much more widely available. I agree that initially its usage dropped because it was failing ever further behind DX in implementing the key features of pixel and vertex shader programs. However now the problem seems to be cross platform game development, where DX is easier to port onto the console than OpenGL.

OpenGL is the standard, and in the long haul standards tend to win out over propriety closed solutions, but not always. Doesn't really matter if the propriety thing is better for a while because the standard evolves slowly taking the best bits and then continuing on. We have more fragmentation in terms of different OS use today than we have ever had before, especially with the rising popularity of the mac. This might cause a resurgence in OpenGL usage for games.

The problem with OpenGL is that key players in the CAD industry demand support for features that are decades old at this point. They keep OpenGL behind by making it include support for every device that ever was and slowing the adoption of new features. It is one of the unfortunate drawbacks on the other hand.

Microsoft, on the other hand, can ruthlessly decide what is included in DX, and so far it has done a good job of it. DX11 is now much better than DX9, for instance. Yes, it is OS specific. That may one day cause its death if Windows ever dies as an OS. Thats looking somewhat unlikely at this point though. Not impossible just unlikely.
 

BFG10K

Lifer
Aug 14, 2000
22,709
3,002
126
Low level hardware programming would bring performance increases 10 fold, but microsoft won't have it, because we need to use their product.
Microsoft already had low level hardware programming; it was called DOS. Remember the days of programming for individual sound cards and graphics cards? Yeah, that’s not really viable for the virtually unlimited hardware combinations now possible. That’s the purpose of a HAL and APIs: to abstract away the individual hardware.

A modern operating system supporting features like virtual memory, pre-emptive multi-tasking and security sandboxing cannot allow programs direct access to the hardware like that. A console model based on a fixed platform running one program at a time simply won’t work on a PC.

With that said, I’m sure there are opportunities to streamline the existing APIs to make them leaner.
 

Cerb

Elite Member
Aug 26, 2000
17,484
33
86
With that said, I’m sure there are opportunities to streamline the existing APIs to make them leaner.
The core problem is that you don't really know how much time your program will have, how long each span of work time you get will be, nor how long it will be until some calls to the OS are serviced. Keeping threads synchronized can also be fairly time-consuming. On a console, this is gotten around by being able to work with the hardware. Ultimately, even that is a band-aid.

A leaner API won't get you there. You need a scheduling API that can offer some level of QoS. Especially, one that will allow you to request some portion of time after some event, or slices of cycles on some known timer (in which case you would synchronize to buffer swaps in your software, rather than having an OS-level vsync interrupt), give back what it can offer with high confidence, add some performance counters, and then let the application devs handle how they will use it from there. If programs start wanting too much time, or the same time slices on the same CPUs, they'll just have to live with smaller slices (this would be a reason to have an API that allows politely asking the OS about it, and being able to access timing info about your program's threads from the OS, instead of reinventing that wheel for each program). Hard real time can stay a small niche, but we are at a point (IMO, have been since the Core 2 launched) where we need QoS control more than we need higher throughput. OS and driver improvements that increase FPS in a benchmark don't always translate into a more responsive/immersive experience, and this Id Tech is almost 100% about that.
 
Last edited:

kevinsbane

Senior member
Jun 16, 2010
694
0
71
CAD stuff is mostly OpenGL

Autodesk has mostly ported it's suite of AutoCAD software to Direct3D. OpenGL still exists, but it is actually software emulated. Not sure about the CAD industry as a whole, but seeing as how Autodesk is such a large player, I think that the status of OpenGL as the de facto standard for CAD applications is now trending into mythological status... for Windows, anyways.
 

AdamantC

Senior member
Apr 19, 2011
478
0
76
Of course there is always going to be less overhead with consoles. Has been that way for the last few generations, not to mention the advantage of being much simpler to use, but you are giving up customization on a massive scale. Of course console titles also run at, in some cases far lower settings. For example, Crysis 2 runs at 1152x720 and 1024x720 for the 360 and PS3 respectfully, at 30fps. Some console titles do run 60fps, Rage being the most recent, but by far the norm is 30fps. You can see a large list of resolutions here - http://forum.beyond3d.com/showthread.php?t=46241 - As for framerates check these guys out http://www.lensoftruth.com/category/head2head/
Of course this will most likely change with the next generation of consoles. Then in a few years time things will be right back to where we are now.

Holy crap what just happened? Back on topic...
Yes, OGL has seemed to fallen from gaming use in recent years. It does seem to be fairly ubiquitous in the realm of source ports however.
 

bryanW1995

Lifer
May 22, 2007
11,144
32
91
Uh no. One of the biggest changes in DX10/11 was eliminating API overhead as much as possible.

What he's talking about is general purpose desktop OS overhead. Every time you call a Win32 API call and many graphics calls, it's the same thing as calling Sleep();. Basically since you are going into kernel mode anyway, it's a good time to switch contexts and call the scheduler for the next thread while you carry out the API request.

Example, fopen translates to NtCreateFile and your code doesn't get to run again until everything else in the system has run a full thread quantum, every single time. And there are ALOT of things running that aren't game related in Win 7.

Perhaps a new version of Windows will have a game mode that suspends the desktop OS entirely and runs the game in a micro kernel with full hardware access. Shouldn't be too difficult implementing hardware virtualization partitioning implemented in modern CPUs. Going back to Windows wouldn't be a fast Alt-Tab, it would be more like Hibernate/Resume when you leave the game and not a single clock tick wasted on non gaming tasks.

What we are really talking about here is comparing a desktop OS to a RTOS. Windows never was suitable in RTOS environments.

THAT would be great way for AMD to differentiate themselves from intel. Well, if they ever decide to write any software, of course.

The open source nature of OpenGL and its relative simplicity and backwards compatibility means that its much more widely available. I agree that initially its usage dropped because it was failing ever further behind DX in implementing the key features of pixel and vertex shader programs. However now the problem seems to be cross platform game development, where DX is easier to port onto the console than OpenGL.

OpenGL is the standard, and in the long haul standards tend to win out over propriety closed solutions, but not always. Doesn't really matter if the propriety thing is better for a while because the standard evolves slowly taking the best bits and then continuing on. We have more fragmentation in terms of different OS use today than we have ever had before, especially with the rising popularity of the mac. This might cause a resurgence in OpenGL usage for games.

I feel like a complete n00b asking this, but what about Mac? Linux? Other OS's? Can you just not us DX 11/10/etc on any of those, or does it take some/lots/too much coding work, etc? And what about opengl? As the "open standard", is it completely platform agnostic (ie, as everything BUT windows increases in popularity, open gl benefits by defaults)?
 
Last edited: