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."
Looks like open standards will be left butt-naked on Baltic Avenue.
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/
Why risk using cross-platform standard while you can tie developers to your platform with Direct3D? It seems that Microsoft has no interest in supporting cross-platform solutions. Why should they?
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...
I imagine that this is only the case in the Microsoft drivers. It is less effort for them to write a set of DirectX drivers for each graphics card they intend to support and an OpenGL wrapper that can be used with all drivers than write a DirectX and an OpenGL implementation for each card - particularly since DirectX OpenGL wrappers have been around for years.
Vendors like nVidia, ATi and Intel will continue to provide non-wrapped OpenGL drivers, since they will lose sales if their card does 50% worse than a competitor who provides a native implementation.
I am TheRaven on Soylent News
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!
There will be no MS sympathizers in this thread.
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.
Linux does exactly the same with Direct3D when you use Wine or Cedega, nothing evil in that, it just makes driver writing easier, since you only have to write one driver and not one for OpenGL and another one for Direct3d. Beside from that I doubt the 50% performance drop, while there might be a drop, most of the work is done on the GPU, so a bit translation from one API into the other should be that bad.
That graphics card/chipset manufacturers provided their own implementations of OpenGL through their drivers anyway. (That's definitely the case for NVidia-based cards at least) Therefore, this would only apply to the system default drivers, which almost no-one will be using anyway.
This is going to be a non-issue for the vast majority of people, and certainly for anyone who cares about 3D performance. Don't let that deny you an opportunity to bash "M$" though.
It's official. Most of you are morons.
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
What Microsoft is probably doing is revamping their software OpenGL client so that it runs on top of DirectX. This will make software only OpenGL even slower. What it will mean, though, is that in cases where crappy hardware manufacturers release bad (or no) OpenGL drivers, but merely mediocre DirectX drivers, they can use Microsoft's OpenGL drivers to get better performance and quality than they could with their own drivers.
So I suspect that for most people (i.e. those with decent video cards) there won't be any difference. For people with low-end cards, this will probably be an improvement.
Whoever corrects a mocker invites insult;
whoever rebukes a wicked man incurs abuse.
--Proverbs 9:7
Remember Sun's Java runtime environment. They removed that from the Windows XP distribution, because they wanted to push their own technology, Activex, instead of Applets. Now the same thing is occuring. They want to push DirectX, and they want even more! They want to kill the opponent.
I can't understand why they don't stand fair competition. Oh, my god, monopolies....
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!)
Microsoft's justification of this is that some 3rd world countries are already antagonistic towards US imports, and selling their OS at costs below domestic prices could be construed as 'product dumping,' which carries a hefty fine and other import restrictions. Not to mention that it's difficult to compete with "nearly free" pirated copies. Whether their fears of dumping and never being able to compete with piracy are justified, I don't know.
Realistically, why worry about this so much? If Microsoft isn't capable of competing in 3rd world countries, then competitors should be able to step in where they slip. Linux, OSX, etc. In fact, it seems that piracy hurts everyone involved.
I Browse at +4 Flamebait
Open Source Sysadmin
If you actually thought about this for at least 5 seconds, you should have seen the simple fact that this is an idiotic approach. The whole idea behind an operating system is to provide a hardware abstraction layer so that games don't need to know whether you have a Soundblaster or a CMI8738 sound chip or whether your videocard is NVIDIA, ATI, or something else. DOS games were a nightmare because of this -- just ask a Gravis UltraSound owner.
Windows XP didn't come with hardware accelerated OpenGL drivers at all. You got a cheap old software renderer. OEM's usually installed the accelerated drivers themselves, or users had to download the driver from the video card manufacturer. Now, with Vista, you still don't get a full OpenGL driver, but you get an OpenGL wrapper for Direct3D, like GLDirect or AltOGL, which is almost as good, but still evil. No doubt, OEM's will still install full OpenGL drivers so that users won't call up asking why Doom 3 performs like crap on their new PC, and everyone who doesn't buy the expensive boxed Windows Vista will be happy with their 3D gaming experience.
Up to 50% slower isn't that bad anyway. "Up to" is just something you say to make your argument sound stronger. Something can be both up to 50% slower and up to 50% faster at the same time. If 50% slower is the worst case, I doubt we can expect the average to be much worse than 20-30% slower, which is pretty impressive for an OpenGL wrapper. Plus, if the wrapper is written well, you can promise that if Direct3D works, OpenGL should work too. I've seen too many instances where a card had good Direct3D support and OpenGL simply crashed the system after so many minutes.
The extremely bad part is, the wrapper will lead some manufacturers to stop supporting OpenGL, so there will be nothing for them to port to Linux. So by embracing OpenGL, while at the same time eliminating the need for driver level support, Microsoft will weaken manufacturer support for OpenGL on Linux. If you're a Windows user, you'll benefit from Microsoft making their wrapper as good as possible to kill manufacturer support. Microsoft has an incentive to not make the wrapper buggy. If you're a Linux user like me, this'll suck ass.
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.