by sparcdr » Tue Jun 09, 2009 1:32 am
No, this is due to a quality requirement that makes for WDDM 1.1 certified cards can be hotplugged and will not result in a crash or necessity for a reboot. Microsoft has been for years maintaining the same OpenGL version, and there is no value to that investment when the vast majority of users who need such functionality have NVIDIA or ATI cards due to performance issues with the integrated chipsets.
The other part of it is that OpenGL is a piece of software, and software changes. Going from version 1.4 to 2.1 there is a lot of things that could break things, and as is such Microsoft probably has limited experience with today's OpenGL since they own, operate, maintain, and invest into their own technology. It's wise to respect them for that, since the fact remains OpenGL does in fact have a higher hardware requirement and is less intuitive to adopt, but being cross-platform is worth it in most cases.
So basically NVIDIA and ATI have experience maintaining support, and for a long time now they have maintained their own reference implementation for supporting legacy OpenGL applications, while Microsoft's was dated, could not take advantage of hardware features, resulting in cumbersome operation and slow performance. Microsoft doesn't manufacture GPUs, so it is most certainly exponentially more expensive to invest into new features for the latest and greatest tech, no less keep quality up when having to retool their OS to improve quality.
Bottom line is, you can blame them for half the problem, but also understand that the chipset vendors are responsible now to provide what you need. Windows XP was designed in 1999, released in 2001 based on technology developed over 12 years (1989-2001), and has been and still is the top dog of market share for the desktop market. Id Software pushed the issue 15 years ago, and OpenGL (Formerly IRISGL on Silicon Graphics workstations) maintained a good measure of control over Microsoft's inferior at the time DirectX for a few years, leading up to the release of XP. Since most GPU vendors at the time did not provide OpenGL support directly in their drivers, and the nature of OpenGL itself is based on a review board's specification most figured they wouldn't need to since it was software, which was what Microsoft did, so Microsoft did in fact pick up the slack.
It took another few years for hardware accelerated cards from NVIDIA and ATI to penetrate into more common computers. With the years came some stagnation of the OpenGL API, but Microsoft still maintained what they had already invested in so most games developed (Which were targeted at OpenGL 1.1-1.4) would still be possible. A few more years, just no investment was made as GPU vendors started providing their own implementation based on the then specification so they could add more hardware features that suited their cards, their desired customers, etc. NVIDIA, Apple, and Sun Microsystems, notable members of the OpenGL architecture review board have added their own features in addition to the standardized ones, which people can optionally use. Performance takes a major hit if you don't use some specific extensions, depending on the OS and hardware overhead the application has.
Intel cards are unsuited and unsupported for playing Quake 3 and derived games in general. We find them to be slow and lacking in many areas, but are surprised to see that a good number of them work, but we just can't fully support something that Intel itself will not fully support. We're not a business, we have 2 developers basically, working as hobbyists, and we do not have capital to get into the GPU business, which is a modern prerequisite for trying to fix the OpenGL availability issue, as opposed to back in the day when it was done in software because the cost of accelerated GPUs killed the prospect of garnering any market share from the common folk.
Please understand when people complain about the stability of Microsoft products, it's due to legacy support being a priority. It may sound oxymoronical to tell you that depreciating things actually improves quality, but as an example...
You have 10 projects, you must keep 1 project going for 10 years to support a product, you add 5 more projects to cover feature requests, your quality starts going down, you have to hire more people, you start cutting projects, your quality still goes down and you can't keep up with pissed off people, then you retool and fix the quality issue, and they don't pay attention to the quality upon release, they don't even give it a chance, the product fails, more investment in labor is made to fix the issue, some users adopt it through heavy advertising, and finally people understand that it has better quality. This is Microsoft.
The contrast is Apple, who publicly says: you have this long to have your software working until it breaks, or yell at your vendor to release a patch, or tell them to release the next version you'll be upgrading to if you do with support for both systems, or one, or the other, to maintain this compatibility. We provide a measure of support through legacy APIs, but we don't maintain them and want your vendors to actually innovate and not sit on their ass by using some of our unique features we took risks on, instead of having them use dated and inefficient methods.
The result is better quality and more intuitive software, and let's not bring up hardware, it all depends what you're comparing, and what your computer experience level is, and what you need out of a computer.
The point is solely centered around the fact that Microsoft puts too much effort into legacy support for too long and suffers.
Smokin' Guns wouldn't mind adapting to a new OpenGL API version if it had to, granted we can pool in fresh developers for such an undertaking, or hope that our upstream (ioq3) does it. Unfortunately, doing so is only have the issue... Intel's legacy cards are unsupported, and they will not craft new drivers, putting direct pressure on Microsoft yet again to pick up the slack for a market they can't manage. Blame Intel for the other half of it.