Windows Vista May Degrade OpenGL
srw writes "OpenGL is the industry choice for cross platform, hardware accelerated 3D graphics, and it is also the only way you can get fast 3D graphics on your Linux desktop. It now seems Windows Vista implements OpenGL via Direct3D, seriously degrading its performance and attractiveness to developers." From the article: "In practice this means for OpenGL under Aeroglass: OpenGL performance will be significantly reduced - perhaps as much as 50%, OpenGL on Windows will be fixed at a vanilla version of OpenGL 1.4, No extensions will be possible to expose future hardware innovations. It would be technically straightforward to provide an OpenGL ICD within the full Aeroglass experience without compromising the stability or the security of the operating system. Layering OpenGL over Direct3D is a policy more than a technical decision."
This seems in line with what MS normally does. They've been trying to snuff out OpenGL (so far as I can see) and keep everyone in proprietary DirectX technologies.
Join the Empire! http://www.empirereborn.net/
Read this post for an explanation of why this problem is NOT as bad as people are making it out to be.
Now that Microsoft have cancelled all the planned new features for Vista, the only thing left for them to remove is stuff that works fine in current versions of Windows.
Microsoft is "upgrading" itself out of the marketplace. No serious gamer is going to want to use Vista now. It's turning into same mistake Apple made back in the day - trying to control everything at the expense of flexibility and compatibility. The only thing Microsoft has going for itself is ubiquity - people use it because other people use it. They're chipping away at that foundation with a jackhammer now. This also comes at a time when people are switching to Firefox in droves, with Mac and Linux OSes on the rise. Not a smart move.
I doubt layering OpenGL over directX will make a 50% slowdown; all the time processing is in the GPU and the amount of time spent in an API is insignificant. /.ed
The whole blurb sounds like a scare tactic to me. The article of course is
Does anybody else not believe this at all? I think this was totally blown out of proportion by the opengl guys and the real situation is going to be nothing like this. Of course, nobody on Slashdot is going to read the article anyway and the hyperbole is just going to grow and grow...
Particularly fascinating that with all of the (formerly) core features that MS has been dropping from Vista, they still somehow find time in the development schedule to screw over an open standard like OpenGL.
WinXP SP3 - Now with fewer features and less compatibility than ever!
MS would be smart to make a EU specfic version again, if only to keep out of the courts.
Free Mac Mini Yeah, it's
windows vista (I preferred longhorn!) is intended by microsoft to be as big an upgrade as win95 was over win3.1, but every time I read news about it, I simply make up my mind more not to buy it
.not running opengl effectively? are they kidding? how many independant software developers ( ms's biggest asset according to steve ballmer), gamers ( the #1 reason windows guys don't completely switch to linux), and researchers are going to be pissed off?
microsoft product designers like to develop software according to idealistic hypothetical usage situations. they assume that all users are happily running directx 9.0,that their video cards are all top notch and a 50% degradation would be nothing for the misguided few who still run GL. heck, maybe it will make them upgrade their dinosaur era hardware!
Now, now... Before we break out the pitchforks and torches, let's see exactly how MS plays this. The article is already slashdotted, so I'm going to have to do a little speculation.
If MS goes with a GL to D3D wrapper as a default implementation, but allowing vendors to write their own drop-in driver if they choose, then we get the best of both worlds.
For a small graphics device shop, maintaining a full ICD is a lot of work. If they had the option of "just do the D3D back-end and you'll get basic OpenGL functionality for free through the wrapper", the problem is solved. In this way, you actually get broader OpenGL support than you would with the current model, where anyone who wants good OpenGL support is stuck with having to implement a full ICD.
From the app writer's point of view it's also a win. Right now, as an OpenGL developer you have basically two choices: 1. Pick a PFD that goes through the graphics vendor's driver, and accept whatever coctail of driver bugs they never tested for you because you aren't Doom 3, or 2. Pick a PFD that runs your code through the dog-slow MS software path. If we had a 3. Pick a PFD that puts you in the safe but fast GL->D3D path, it would be easier and faster to bring accelerated OpenGL apps to market. I know of several OpenGL apps that purposely pick the software path because of driver bugs which wouuld immediately benefit from such a scheme.
So in conclusion, if MS is smart about this, they could keep their business focus on D3D, and broaden OpenGL support at the same time.
It simply wont make sales in India, China or the South American countries.
But then again, it never did. Everyone pirates the OS (at least in Central America which is where I am), because the price of the OS is a large fraction (if not all) of monthly income. Microsoft spent money putting Anti-Piracy billboards up around the city (billboards that cost $2000 a month to rent) instead of DUHHH selling the OS a bit cheaper in those markets. Like once you've done your programming it's really costing you a lot more to burn some extra CD's for the 3rd world.
No, Microsoft corporate think is to start a whole new programming cycle and come up with a cheap but CRIPPLED OS for the 3rd world. Heh.
The fear is, if they sell it cheap in the 3rd world people in the US will just import the 3rd world copies, and Microsoft will lose out. It's the same argument with cheap medication for the AIDS problem in Africa. Maximizing profit is more important to a megacorp than quality of life, or even life itself, apparently. Yet they sure are quick to outsource when they think they can save a buck. It's ok to make money but once in a while you have to address ethical issues as well and damn the share price. We're all on this planet together.
Seven puppies were harmed during the making of this post.
You do realise that most if not all graphics card/chipset manufacturers provide their own implementations of OpenGL with their drivers, don't you? That this is only going to apply to the system default drivers that no-one who cares in the least about performance is going to be using?
European governments are starting to wise up that transfering as much as 0.3% of GDP to the United States in Windows licenses is not a smart move.
Can you give any references for that figure please? According to the CIA world factbook, our GDP is $ 1,782,000,000,000 - are you really suggesting that we spend more than $5,300,000,000 on Windows licences? According to computerworld, MS's revenue for 2004 (total, not just for Windows) was $36.8 billion; that would mean (according to your figures) that the UK was providing well in excess of 14% of MS's revenue...
It's official. Most of you are morons.
How is the price of Windows an ethical decision? Particularly when there are viable alternatives to Windows.
This entire story is anti-Microsoft FUD. Microsoft is not bothering to maintain their "generic" OpenGL support as anything more than a wrapper to their preferred API. However, the only thing anyone is likely to be running the stock generic OpenGL driver on Windows for is the OpenGL screensavers on workstations not using a nice video card or downloaded drivers. Every Nvidia and ATI driver comes with its own OpenGL implementation.
0.3% of GDP on Windows licences! Are you having a proverbial "laugh"?
UK GDP - source Google - $ 1,782,000,000,000
0.3% of UK GDP = $5,346,000,000 or $5.4bn
I'm sure the UK spends a lot on Windows. But bear in mind that Microsoft's total annual revenues are only about $40bn, of which roughly half is client (Windows XP, etc.) and server (Windows 2003 Server). (In fact this over-states total Windows licenses, as there is also SQL Server, etc. in there.) But even on a best case, you're saying that the UK buys more than a quarter of all Microsoft Windows licenses. In fact, what you're really doing is making up sprurious statistics to get some temporary kudos.
Next item of absurdity: "the United Kingdom spends 0.3% of GDP on it's transport infrastructure". Really? Source please. Of course there is no source, because this is a ridiculous made up number. Lets go to the UK Office of National Statistics: oh! it turns out that the UK government (excluding what is spent by private industry) spends, da da, £20bn on transport infrastructure. (Which, at today's exchange rate is about $35bn, or around 2% of GDP.)
Congratulations, you made up some numbers and now will be modded all the way back down to -1, troll.
Goodnight.
--- My dad's political betting
It will force game/application developers to write windows-only apps instead of cross-platform. OpenGL made is quite a bit easier to do that.
You know, I never understood why games developers don't just write for Linux (or indeed, any other OS), and then provide their games on a bootable disc.
You have to have the game disc in the drive anyway for most games, so there wouldn't be any hardship to the user, but it would remove all the issues of what libraries are installed on the host machine.
It would also remove the need for platform-specific versions for games (especially once Apple starts shipping their Intel-based machines).
(Spudley Strikes Again!)
Ehm...
Isn't this a bit like going back to the age of Windows 95? That release didn't have an OpenGL driver, but nobody cared. It only came standard in Windows with NT 4, if I'm not mistaken.
But still, if you look at the standard OpenGL implementation in Windows nowadays, you'll notice that it's still basically crap.
"But why does Doom3 run at all", you might ask?
Well: because it's the hardware vendors who provide the driver. A major graphics chip manufacturer can't afford not to have a decent OpenGL driver. So, nobody will care if MS doesn't want to implement a decent driver. Nvidia, ATI & the others will put out a driver, as has always been the case...
So, stop worrying, then!
h357
I understand that the article is slashdotted, so your mistake is forgivable. Here are the facts: MS is making vendor-supplied OpenGL implementations second-class citizens in Vista. When you use one, all the new graphics features they are including in Vista will be switched off. Users won't take kindly to your program disabling eyecandy across their entire desktop. This means that people must choose between using Microsoft's OpenGL supplied with Windows (which has always been and continues to be crappy, especially now that it will be layered on top of DirectX), or having their users hate them, or switching to DirectX. The people calling for action are the likes of ATI, NVidia, and 3DLabs, not just some random MS bashers.
main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
That's a silly statement on several levels.
... Batman prefers to be signalled using the Bat Signal, shining on some convenient cloudcover.
- It would not call Microsoft headquarters, but it would call Batman, were it not for the fact that...
-
- Regardless, Batman does not seem to use the Internet, and a website would therefore be utterly pointless.
- Most important of all, however, the Bat Phone would be painted black, not red.
Please make the necessary adjustments.
--
(tongue firmly in cheek)
For those of you who have never worked with graphics drivers on windows, let me fill you in on why it doesn't work. Direct3D wants/needs full access to the graphics hardware for it to use hardware acceleration. Ever wonder why two windowed D3D apps run like crap compared to one single full screen D3D app? There's your answer, whenever D3D doesn't have full access, it has to go through a software layer to serialise video card hardware access... that translates to slower performance. Now, throw in OpenGL and you have a huge mess. You have a full screen D3D app (the windows UI), and now you want to run OpenGL via direct hardware access on it in a window? There is no way that the OGL ICD and the D3D drivers are going to nicely co-exist. One is going to have to translate their calls into the other driver's native API. Microsoft made the decision to force OGL to get translated into D3D calls to allow its desktop UI to run natively (ensuring all of windows runs nice and quick) and makes the OGL app take the performance hit. It's not some conspiracy, it's how they got things to work, and trust me, I know first hand how it works. The solution is actually pretty damned good considering the SHIT that graphics card manufacturers do to their cards from a hardware point of view. ATI and Nvidia require their entire pipelines to be flushed everytime you'd switch windows from OGL to D3D, that KILLS perfomrance. Throguh my many years of OGL and D3D experience I can assure you taht there is NO other way of doing this, except by forcing D3D apps to go through a translation layer that maps them to OGL calls, doing the exact same thing except in the other direction. And it makes no sense to give the graphics speed priority to a single app, when all other non-graphics apps will suffer (all standard windows programs will now be rendered using D3D), just think of how pissed people are when a single app hangs in windows today, and other apps are slugish to respond to minimize or restore commands... amplify that ten fold if they would have serialised OpenGL and D3D instead of forcing OGL to go through a translation layer and continue to run D3D natively. MS is evil. Sure, but this is truely the fault of Graphics card manufacturers, NOT MS. They could have made their hardware support both quite easily, but choose to do as little in the hardware as possible, and force the drivers to pick up the slack, well in this case, there is nothing the drivers can do that won't absolutely kill performance, so MS did the logical thing. And one last thing, on OSX they'd have the same problem if they had some sort of alternate 3D api. On windows, 90% of the stuff is D3D, or available in D3D versions. Just from a marketing point of view, their solution works at 100% the original speed 90% of the time. The other 10% of the time, it can run UP TO 50% slower, in practice it's usually about 15% slower. La-dee-dah... my old ATI 9200 compared to my newer X800 is at least 15% slower anyway, there's the 'performance difference'...
---
Programming is like sex... Make one mistake and support it the rest of your life.