Slashdot Mirror


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."

27 of 633 comments (clear)

  1. Normal MS Decision... by Tiberius_Fel · · Score: 4, Informative

    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/
    1. Re:Normal MS Decision... by Anonymous Coward · · Score: 1, Informative

      SDL can only act as a container for OpenGL. On it's own, it is only capable of 2D graphics, which take up very little processing power anyway.

  2. Re:MS by PsychicX · · Score: 5, Informative

    Read this post for an explanation of why this problem is NOT as bad as people are making it out to be.

  3. Another useful link by Anonymous Coward · · Score: 1, Informative
  4. Re:What, you fucking idiots? by Tim+C · · Score: 5, Informative

    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...

  5. MOD PARENT UP by BasharTeg · · Score: 4, Informative
    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?

    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.

    • This entire story is anti-Microsoft FUD about a complete non-issue.
    1. Re:MOD PARENT UP by majoun · · Score: 5, Informative

      No, it's not FUD. This announcement and call for action was made by the IHVs (3D Labs, ATI, and NVIDIA) at the OpenGL BOF at SIGGRAPH. If you install a hardware vendor's OpenGL ICD, the Aeroglass compositing desktop will be switched off. So, for users that want to run the Aeroglass desktop, that means you're stuck with Microsoft's generic OpenGL 1.4 implementation.

    2. Re:MOD PARENT UP by DigitlDud · · Score: 2, Informative

      Aero Glass requires LDDM drivers to work. All the LDDM drivers available now are in very early alpha stages and lack OpenGL support or any optimizations for that matter.

  6. Re:What, you fucking idiots? by rcs1000 · · Score: 5, Informative

    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
  7. Re:What, you fucking idiots? by Dunbal · · Score: 2, Informative

    It certainly is easier than say, educating them not having 10 children per family.

          I see you haven't travelled much recently. Those families are a thing of the past everywhere, even in (gasp) the US. Oh, and large populations = poverty, right? Boy will you get a shock when China gets its act together soon. Not only do people work, they also create work. Production. Wealth. The more people you have, the stronger your economy. The problem in the 3rd world is a political one and has to do with corruption unfairly affecting the distribution of wealth. It's not due to "overpopulation" and "undereducation". The literacy rate where I live is higher than that in the US, which is suprising since our health budget is much less, per capita. Be careful, the US is slipping quite a bit, despite what your politicans tell you.

          Actually the idea is not for MS to lose money when people import from the 3rd world. It's for them to earn more by dropping their price a bit in the developped and the 3rd world. Yes, that's right. Earn MORE by dropping the price. It's the best way to get rid of piracy. They certainly aren't making any money NOW in the 3rd world.

    --
    Seven puppies were harmed during the making of this post.
  8. History repeats (The Register, december 1999) by modicr · · Score: 2, Informative

    MS and OpenGL: supporting it to death?

    http://www.theregister.co.uk/1999/12/06/ms_and_ope ngl_supporting/

    quote:
    "Microsoft quietly drops Windows OpenGL support? Oh yes, we think so..." (december 1999)

    Regards, Roman

  9. People, it was shown at Siggraph last Wednesday by Anonymous Coward · · Score: 1, Informative

    I know it's hip to be pro-Microsoft lately on Slashdot, but this story really is true. Loading an ICD will disable Windows compositing unless you go through Microsoft's wrapper layer which is fixed at OpenGL 1.4 with no extensions. Look at the Mirrordot story to see the Slashdotted article.

  10. Re:wrong by jiushao · · Score: 2, Informative
    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 as such anymore however. A rather amazingly large part of the logic functionality of modern graphics "hardware" actually live in the driver. The operations actually provided by the hardware are limited and primitive, the driver typically has a number of options how to assign a high-level operation on the hardware, and a lot of preprocessing and adjustment of the function is needed before it is ready to execute efficiently. This is also where time is spent, in code that are most likely in any sane driver common to both OpenGL and Direct3D.

    One very general and simple example is when a geometry set is uploaded to the card (through a vertex array or such). The hardware will often cache a number of old transformed vertices, if two primitives with the same vertices come too far apart in the set however the cache will not be effective. Therefore the driver spends a fairly large chunk of CPU-time reordering primitives so that shared vertices occur as close to each other as possible, this will make the transform cache able to pick the already-transformed vertex instead of having to redo it. Even worse the hardware may only provide a hand-managed cache, so that the driver has to insert quick stores and loads for transformations in cache.

    This type of operation is fairly expensive and the driver has to do a lot of them. Another simple example is pixel shaders, which are translated to some internal form, typically with some optimization to fit actual hardware limitations. It is however not really on the API level, it is really logic that is expected to be below the API implemented as software since having the hardware provide operations directly mapping to the API would be exceedingly complex and inefficient.

  11. Re:I was under the impression by Spy+Hunter · · Score: 5, Informative

    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?" `":" #");}
  12. Re:What, you fucking idiots? by Anonymous Coward · · Score: 1, Informative

    He didn't say that it was the UK that was paying 0.3% of its GDP to Microsoft. He said that European governments were paying "as much as 0.3%"; most likely it's some nation with a very small GDP that is paying that fraction, and the fraction for the UK is probably much less than 0.3%. He also said that the UK pays 0.3% of its GDP for transportation infrastructure. He did not say that the UK (nor indeed, anybody) pays as much for Microsoft licenses as for transportation infrastructure. The discrepancy you claim in the transportation number could as well be explained by a difference in what's being counted (I, for one, am not clear on what "transportation infrastructure" actually should include, and there's also the question of whether it's gross or net); it needn't be deliberate deception.

    I can see your confusion, and I don't know whether the statements made were true, but they are not so obviously lies as you claim.

  13. Near non-issue by jiushao · · Score: 1, Informative
    Read the frontpage at OpenGL.org. The issue is that the Windows Vista desktop is composited by Direct3D, so to make a windowed OpenGL application able to fully utilize the compositor it will be able to use a wrapper provided by Microsoft, passing through OpenGL calls to Direct3D (with the listed drawbacks). The frontpage also says however that loading a full ICD (OpenGL jargon, "installable client driver", basicly a complete driver from the manufacturer rather than the OS-provided interface) the compositor will actuall switch off to allow the ICD to function correctly.

    What does this mean? The compositor will indeed run more slowly (in software) when a full-blown OpenGL app is run. In most cases this does not seem like an all that huge issue, it ought to be plenty usable anyway (try tunning OSX without Quartz Extreme, it is a bit more sluggish, but not unusable). And for the typical light OpenGL app (non-games) the wrapper will probably do OK and then not interfere with the compositor.

    Sure it would have been much better if the hardware compositor and an OpenGL ICD could work together, but it is on the other hand also clear that it would most likely have been a lot messier for both Microsoft and driver writes to achieve (basicly an OpenGL context is to be composited into a scene drawn by a Direct3D context). But it is hardly the end of the world for OpenGL, notably pretty much no games at all will be affected at all since one does not tend to window-manage a great deal while playing a game.

    If I have misunderstood the available information I apologize, but if this is correct it is, while maybe not ideal, hardly the sky falling either.

  14. Re:Are we surprised...? by Mozk · · Score: 2, Informative

    http://www.100fps.com/how_many_frames_can_humans_s ee.htm

    You can possibly see changes up to 300 frames per second. It all depends on the factors listed in that page.

    --
    No existe.
  15. Microsoft drivers by DragonHawk · · Score: 2, Informative

    "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.

    --

    dragonhawk@iname.microsoft.com
    I do not like Microsoft. Remove them from my email address.
  16. Re:Well, that sounds hopeful but by euniana · · Score: 2, Informative

    From OpenGL.org,

    "What can you do?:

          1. Write to your preferred ISV, hardware developer, video card manufacturer or OEM and tell them to bring this up with Microsoft (e.g. 3Dlabs, ATI, Intel, Matrox, NVIDIA, HP, Dell). This will be the most effective action you can take.

          2. Bring this issue up on other developer and tech-related web sites. If you have a personal blog or podcast, talk about the issue there. Windows Vista might end up being a great product, but not if OpenGL is crippled

          3. Post your comments to our public message board. The more conversation and solution ideas, the better."

  17. Re:Monopoly by Anonymous Coward · · Score: 1, Informative

    Microsoft's software implementation only implements up to the OpenGL 1.1 standard (IIRC). That is what's wrong with it.

  18. Re:What, you fucking idiots? by Anonymous Coward · · Score: 1, Informative

    the 1950's batman had a concave chest and wore under-roos.

    those details died with the old series, and so did the red phone.

  19. Re:Monopoly by jonwil · · Score: 2, Informative

    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 graphics card maker wants (including functions from versions of OpenGL greater than what microsoft ships, vendor specific functions or whatever else)

    Without the hooks in opengl32.dll to talk to the ICD (including all the wgl* functions) the graphics card driver is useless. From the sounds of it, microsoft will implement OpenGL (including opengl32.dll and the wgl functions) on top of Direct3D. (kind of like the reverse of what WINE does by going Direct3D->OpenGL)

    The graphics card vendor cant provide their own opengl32.dll because the hooks in other parts of windows that let you create OpenGL windows and such (used by the wgl* functions) do not exist and cant be accessed by the driver.

  20. Re:bit by bit by Anonymous Coward · · Score: 1, Informative

    Havent been paying attention have you? Quake 2 and 3 both have D3D pipelines these days, the Q3 ones can be seen in Star Wars Jedi Knight 2 or later (and I'm pretty sure Call of Duty and RtCW use it).

    And way to talk about only one genre. FPS games are not everything. Name one RPG engine written in OGL in the last year. Or how about a sports game? Or an RTS... the latest one I can think of there is Empire Earth II, and it's D3D. Oh and every MMO to date has used D3D exclusively bar one, World of Warcraft, and it still uses it by default.

    Also, for record, Half Life is a modified Quake 1. They licensed the source to Q2, but they didnt use much from it, and Valve basically replaced everything in Q1. They just used it as a starting point.

    So basically, in conclusion, the only relevent game engine still using OGL is Doom3, and it's not really winning any popularity contests.

  21. Re:This makes sense by Keeper · · Score: 2, Informative

    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 supplied OpenGL ICDs still work.

    Furthermore, venders can create LMMH compatible OpenGL drivers, which would contain the right "goo" to share the graphics hardware with the OS.

    There is nothing "lcoking" in the OpenGL implementation that can be used on a Windows machine at a pure 1.4 level. Nor is this some conspiracy to make OpenGL "slow" (the previous system supplied implementation was a SOFTWARE renderer only; the only way it could be slower would be if the video card in use has no 3d hardware at all -- in which case you were already screwed).

  22. Re:Let's get the details by Keeper · · Score: 2, Informative

    Wrong.

    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.

  23. Re:What, you fucking idiots? by Donny+Smith · · Score: 2, Informative

    What a bunch of bullshit!

    >1.This monopoly means you have to tread very carefully not to fall foul of competition law.

    Who does NOT have to do that?
    I thought laws apply equally to both convicted and non-convicted entities.

    >2.This means that the EU political center is much further to the left than the US.

    Companies, not governments, spend on Windows *probably* because it helps them get shit done.

    > 3. 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.

    First, those percentages aren't controlled by the government (except to a small extent). So what they think is irrelevant.
    And yes, let's switch everyone to non-commercial Linux distros and lose 1% of GDP due to lower productivity!
    And even if they switch to Red Hat or Novell, the money's still gonna flow in the same direction.

    >I am confident of one thing: the future of Microsoft will not be dictated by how well it fares in the US market but how well it fares in the EU market.

    You're plain wrong. It's going to depend on India and China.

    >Linux is quickly becoming intrenched in these countries

    What the fuck do you know? Do you live in any of those countries?

    >these companies can't really afford to prop up the American economy.

    "These companies" don't give a shit about the American economy. They buy computers and software to have the optimum means of making money. As it turns out, currently Windows (especially on desktop) is an okay choice.
    Before they had probably tried OS/2, before that calculators and even the pencil/paper bundle - too fucking bad, it didn't work out.

    Perhaps later they might try some other OS, but to think they're going to get something for nothing is ludicrous. Nothing is free - they'll have to spend more on support and training, so I don't think that overall they can save much (especially considering the piracy levels - they pay very little for the MS software) before 2010.

  24. Re:Ban microsoft from EU by mOdQuArK! · · Score: 2, Informative
    Stupid, childish, knee-jerk, anti-MS response...

    If you'll note, I was responding to a question about what the EU could do if Microsoft pulled completely out of the EU - and my solution is a perfectly valid governmental response to what would be a stupid childish gesture on Microsoft's part. I wasn't talking about a complete ban on all forms of intellectual property.

    Also, since the ban would only be on _Microsoft's_ IP, I highly doubt any kind of trade war would start. All other patents & copyrights would still be honored. In such a scenario (MS declaring that no one in the EU was allowed to use its products), I'm pretty sure that most people would say that Microsoft was asking for it by acting so arrogantly.

    You're talking about the same society that has now twice nearly passed laws establishing software patents. They are far from dismissing intellectual property.

    Only a small group of people within the EU legislative body keep trying to get patents passed, even against the wishes of the more populist legislative bodies & the general populace. That hardly shows a great deal of preference toward software patents, and if Microsoft showed them how destructive an IP company could be by trying to stop them from using any of its products, I would guess that popular support for ANY kind of IP would go downhill really fast.