Catch up on stories from the past week (and beyond) at the Slashdot story archive


Forgot your password?

Windows Vista May Degrade OpenGL 633

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 discussion has been archived. No new comments can be posted.

Windows Vista May Degrade OpenGL

Comments Filter:
  • Monopoly (Score:3, Funny)

    by sabernet ( 751826 ) on Saturday August 06, 2005 @02:40PM (#13259007) Homepage
    Looks like open standards will be left butt-naked on Baltic Avenue.
    • Re:Monopoly (Score:5, Insightful)

      by MooseByte ( 751829 ) on Saturday August 06, 2005 @02:48PM (#13259069)

      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!

      • Re:Monopoly (Score:5, Insightful)

        by hummer357 ( 545850 ) on Saturday August 06, 2005 @03:40PM (#13259388)

        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!

        • Re:Monopoly (Score:3, Interesting)

          by SCHecklerX ( 229973 )
          That actually is a good point. The stock OpenGL on my linux boxen via Mesa pretty much sucks. But when you use NVidia's drivers, framerates are incredibly fast, even on my aging Athlon 900.
        • Re:Monopoly (Score:3, Insightful)

          by typical ( 886006 )
          But still, if you look at the standard OpenGL implementation in Windows nowadays, you'll notice that it's still basically crap.

          What's wrong with it?

          I'm not challenging your statement, just curious.

          I do agree that the OGL/DX debate is significant -- Microsoft would not be putting significant development resources into something if it wasn't going to produce money for them, and being the standard-setter for game APIs makes it more difficult to port games. But all that being said, the only time I've ever had
        • Re:Monopoly (Score:3, Informative)

          by jonwil ( 467024 )
          Actually (at least on windows XP line) thats not 100% correct.

          What happens is that windows provides opengl.dll fixed at and containg all the hooks to enable opengl windows to be created, extentions to be enumerated and accessed and so on (the wgl* functions)
          Then, the graphics card vendor provides an opengl ICD driver that contains the actual OpenGL implementation and talks to the other display driver components (e.g. the miniport) and from there the hardware. The ICD driver can implement any extentions the
  • Now we know where Microsoft plans to suck in all those extra CPU cycles that everyone has too much of.
    • by Dunbal ( 464142 )
      Now we know where Microsoft plans to suck in all those extra CPU cycles that everyone has too much of.

      Besides, if graphics performance is degraded, it gives everyone an excuse to buy those new CPUs and $5000 Radeon 83910000 SX FX MX cards that will be coming out, so Microsoft is really "helping the computer industry by promoting technology and innovation". Ugh, did I just say that?

      Never mind the fact that the human eye has a hard time detecting changes above 30 f
      • Graphics cards aren't really measured in frames per second. Consider the highest end graphics card you can get today, and try to run Doom3 max settings. I bet you won't be getting that 300FPS now, will you?
  • by Tiberius_Fel ( 770739 ) <.fel. .at.> on Saturday August 06, 2005 @02:40PM (#13259015)
    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.
  • shooting your own foot, eh?

    of course it's their policy. Just like breaking kerberos protocols, complicating NTFS so it is hard to reverse engineer, etc, etc...
    • Re:lesson? (Score:3, Insightful)

      by kiltedtaco ( 213773 )
      What? You think this will hurt Microsoft? Both of the examples you give are great examples of this sort of stuff working perfectly for MS.

      OpenGL, and hence easily-portable games, are fucked.
  • Logical choice (Score:3, Insightful)

    by ytm ( 892332 ) on Saturday August 06, 2005 @02:42PM (#13259022) Homepage
    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?
  • If it's open, then why don't we just create a 3rd party implementation? Surely this library will be faster and more enhanced the Microsoft's OGL support.
    • A third party implementation won't help: this decision (IMHO) will just cause more game developers on MS to abandon OpenGL in favor on DirectX. I'd bet some third party OpenGL library would be more trouble than it's worth for most.
      • I thought vendors already provided their own hw-accellerated OpenGL libraries - nvidia, ati, etc. In fact most FPS hacks involve using an opengl wrapper library that conveniently forgets to shade some vertices or something..

        I haven't RTFA'D (why would i want to do that), but this OpenGL thru DX likely only concerns MS's own library, which btw sucks, so i guess this is a good thing...
    • Do you have any idea how much work is involved in making an accelerated graphics library for a closed-source OS with closed-source video drivers? Even on Linux, the NVIDIA and ATI GL libraries are much faster than the standard X11 ones.
  • by SlashEdsDoYourJobs ( 905360 ) on Saturday August 06, 2005 @02:44PM (#13259040) Homepage

    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.

  • bit by bit (Score:4, Insightful)

    by urdine ( 775754 ) on Saturday August 06, 2005 @02:46PM (#13259050)
    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.
    • No serious gamer is going to want to use Vista now

      i hope you are right, and everyone will switch to "better" platforms ;-))

      but don't you think that it's FAR more likely that game designers will from now on design with ONLY direct3d in mind and that soon every gamer will have switched to vista and the possibility of game ports to other platforms will be reduced to 0???

      i hope you are right and all the gamers stick to their windows xp/2000/98!
    • Re:bit by bit (Score:3, Insightful)

      by leshert ( 40509 )
      You're either young or have a short memory.

      No serious gamers wanted to play games in Windows 3.1.

      Then no serious gamers wanted to play games in Windows 95... but that got better with DirectX.

      Then no serious gamers wanted to play games in Windows NT (~Windows 2000 timeframe)... but that got better with XP.

      Now maybe no serious gamers will want to play games in the first release of Windows Vista. Have patience...
    • Re:bit by bit (Score:3, Interesting)

      by plusser ( 685253 )
      I have had a thought about DirectX, and the fact that Apple are transerring from PPC to Intel Processor. I saw a report last week on ZDNET, which was going on about Intel's DRM IC being used on the protype Intel Macs. One thing that was pointed out was the fact that the new Mac hardware runs games and software a lot quicker than the old hardware.

      The upshot is this; the hardware will be virtually identical to a Wintel PC. Effectively the only real difference between them will be the operating system.

      To pr
  • by rufusdufus ( 450462 ) on Saturday August 06, 2005 @02:46PM (#13259053)
    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.
    The whole blurb sounds like a scare tactic to me. The article of course is /.ed
    • 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.

      Of course it won't. That's why all the OpenGL functions in Vista begin with busy_wait(x), where x will be scaled based on CPU and graphic card speed. Most functions will also allocate a 4-kilobyte memory chunk and never free it, leading to a memory leak.

      I wonder, thought: what's stopping graphic card manufacturers from releasing their own OpenGL l

    • I'm guessing that some of the extra clock cycles go into translating each OpenGL call into DirectX calls, and some goes into redundant processing by the DirectX libraries for stuff that isn't actually needed by the wrapper that's calling it.
    • That's only part of the issue. Assuming the article is accurate, they will lock OpenGL to version 1.4 (current is 2.0) with no interface for extensions (except maybe a standard set?). This is like limiting OpenGL to the DirectX 7 feature set. The speed degradation wouldn't be 100% from the abstraction layer, it would be from a limited modern feature set.

      No developer would want to use it, especially for games. They couldn't compete

    • wrong (Score:3, Interesting)

      one of the arguments for dual-cores is that gfx processing is cpu intensive. the unreal guys said transferring the gfx software overhead to the second core could free up something like 30% of the primary core for ai/audio etc.

      it's not trivial. opengl is actually much more efficient in this respect than d3d last i checked. d3d is just easier to program in most of the time, and some of the features come free.
      • Re:wrong (Score:3, Informative)

        by jiushao ( 898575 )
        This seems a bit odd, calling Direct3D easy to program for. Early versions of Direct3D were a true horror to work with (check out how one did state changes), granted it was cleaned up as time went on but I would still argue that OpenGL has the edge when it comes to simplicity in all cases except when one needs a lot of bleeding edge functionality (since extensions are messier than just adding things to the API with some expediency like is done in D3D).

        There are no real efficiency considerations in the API

    • Actually, most PC games end up being CPU-bound when running at "reasonable" resolutions/AA settings. Due to inefficiencies in it's architecture, DirectX incurs a very high overhead for each batch of primitives, so much so that Microsoft is telling developers to focus on reducing the number of batches per frame to as low as a few hundred for maximum performance. Supposedly this will be vastly reduced in future versions of DirectX.

      Obviously Microsoft has always been trying to drive out OpenGL in favor of Di

  • .. installing it on my amd k6-2/350 with 192mb of ram and 5gb hard drive! yes this is my primary desktop. it runs windows 2000 :-)
  • by Anonymous Coward on Saturday August 06, 2005 @02:47PM (#13259062)
    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 was actually thinking about the same thing. If this is true, then it'll be really bad at least for me since my main interest is on 3D animation(and my favorite one, Animation:Master, doesn't run on linux) which they all run windowed and with OpenGL (well, 3D Studio Max does have a directX option, but when I've used it it isn't as fast as OpenGL, at least with the setups we have at work)...

      However I'm taking a wait and see attitude since so far the only source I've seen is a post on a public forum (even if
    • by Dink Paisy ( 823325 ) on Saturday August 06, 2005 @03:31PM (#13259332) Homepage
      My guess is that ATI and NVIDIA will continue to make drivers for recent versions of OpenGL with proprietary extensions that perform at least as fast as the current drivers do.

      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.

  • Forget games becuase you can just write games in Direct 3d. What about the stuff that OpenGL does that Direct 3d, such as the CAD and scientific areas. OpenGL has a lot of 2d/ line functionality that Direct 3d just sucks at. Not to mention it also destorys the cross platform 3d market. I guess this is just another reason to switch to a MAC.
  • This makes sense (Score:4, Insightful)

    by TheRaven64 ( 641858 ) on Saturday August 06, 2005 @02:49PM (#13259073) Journal
    TFA is Slashdotted, so this may be contradicted, but:

    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.

    • We just need to lobby the games reviewers to compare video cards using the OpenGL drivers as a default.
    • by caereth ( 645984 )
      The problem is that the new UI will be using Direct 3D, and will therefore claim the graphics hardware, and make OpenGL unable to run. Instead they add their wrapper to OpenGL, which is said to implement OpenGL 1.4. Also, since they map the OpenGL calls onto Direct 3D , there is no room to get access to the OpenGL extensions, as there can be no mappings for them. This effectively puts their OpenGL implementation at a pure 1.4 level, which is roughly equivalent to DirectX 8.something.
      • Re:This makes sense (Score:3, Informative)

        by Keeper ( 56691 )
        That is partially correct.

        Vista's graphics subsystem virtualizes the graphics hardware when running in "Aero" mode (ie: the mode with all of the eye candy); think of this as a multitasking scheme for your 3d card. This mode can't be used with a library which requires exclusive use of the graphics hardware, as you correctly surmised above.

        However, when you run an application that runs an XP era OpenGL ICD, the system falls back to the XP-style compositing scheme (ie: eye candy gone). In other words, vender
    • Microsoft drivers (Score:3, Informative)

      by DragonHawk ( 21256 )
      "I imagine that this is only the case in the Microsoft drivers. "

      I believe Microsoft generally does not write drivers. The drivers that ship "in the box" with MS Windows are generally written by the hardware OEM. The OEM submits them for WHQL (Windows Hardware Quality Labs) [] testing. If they get approved, Microsoft may include them with future releases of Windows.

      I'm sure there are exceptions to this, but I believe that is how it goes, normally.
  • by free space ( 13714 ) on Saturday August 06, 2005 @02:52PM (#13259088)

    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!

  • 1. Watch the yipping competition nipping at your heels
    2. Get annoyed
    3. Watch the market share slides (IE)
    4. Announce how bad the competition is (Get the Facts)
    5. Embrace the competition (Kerberos/Active Directory)
    6. Engulf the competition (OpenGL with DirectX)
    7. Profit?

    So many ways to a profitable monopoly.... Still surprised?
  • ...for different applications, but after this, I'm dropping DirectX, and I will not be deploying Vista ANYWHERE. Fuck MS. Business reality and market share be damned, I will no longer be a participant in the quiet strangulation of any software that isn't Microsoft.

    Sooner or later they will have killed off the medium guys and come for us little guys. I won't give them the rope to hang me with. I'd rather go broke now than get fucked over later with the lube I provided.

    Until this, I was fairly platform agn
  • by manboy9 ( 891227 ) on Saturday August 06, 2005 @02:56PM (#13259117)
    It seems like just yesterday people were actually defending MS. Oh wait, it was yesterday [].

    There will be no MS sympathizers in this thread.

  • by Stiletto ( 12066 ) on Saturday August 06, 2005 @02:58PM (#13259130)

    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.
    • Now, now... Before we break out the pitchforks and torches...
      Damn! Party pooper!
    • by Stalyn ( 662 )
      From the article:
      This information came from the OpenGL BOF held at Siggraph 2005 in LA this last Wednesday evening. This was confirmed at the BOF by NVIDIA, ATI and us (3Dlabs).

      As soon as an ICD is loaded the composited desktop is turned off on Windows Vista. If you want the composited desktop Aeroglass experience, you will need to make your application go through Microsoft's OpenGL implementation, which is layered on top of DirectX. As pointed out earlier, this layering can have performance implications. T
      • by Keeper ( 56691 )

        If you use an LDDM compatible OpenGL ICD in Vista, the system doesn't have to fall back into compatiblity mode and none of the features are turned off.

        If you use a WinXP OpenGL ICD in Vista (ie: a driver that doesn't have the goo to support virtualization of the graphics hardware), the system falls back to "compatibility mode" and turns off the stuff that requires virtualization of the hardware.

        Expecting it to work differently is like expecting an s3-virge card to play quake3 at 60fps.
  • by grumbel ( 592662 ) <> on Saturday August 06, 2005 @02:58PM (#13259132) Homepage
    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.
  • by Tim C ( 15259 ) on Saturday August 06, 2005 @03:05PM (#13259173)
    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.
    • by Spy Hunter ( 317220 ) on Saturday August 06, 2005 @04:26PM (#13259664) Journal
      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.
      • XP era vendor supplied OpenGL implementations don't support virtualization of the graphics hardware. This isn't a problem when you don't have to share the 3d hardware, but it is a problem when you've got a multi-tasking operating system that uses the 3d to render content for every application running. As a result, WGF has to fall back to the XP era method of composting the display when using a vendor supplied ICD that "takes" the hardware away from the OS.

        In order to enable the "Aero experience", vendors
  • For many years I've been perturbed, having to retain Windows hosts for my gaming needs. Though I would love to use Linux/*BSD fulltime, in the past I haven't been able to just from compatibility.

    Now, it appears with Vista's pathetic OpenGL support, we are going to be forced to move.

    Fortunately, WINE [] appears to be doing great things, and World of Warcraft is on the gold list. Hell, even Teamspeak has a linux client too! []
  • by dtfinch ( 661405 ) * on Saturday August 06, 2005 @04:38PM (#13259718) Journal
    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.

Some people carve careers, others chisel them.