Slashdot Log In
DirectX 10 Hardware Is Now Obsolete
Posted by
Zonk
on Sat Aug 11, 2007 04:41 AM
from the shouldn't-have-blinked dept.
from the shouldn't-have-blinked dept.
ela_gervaise writes "SIGGRAPH 2007 was the stage where Microsoft dropped the bomb, informing gamers that the currently available DirectX 10 hardware will not support the upcoming DirectX 10.1 in Vista SP1. In essence, all current DX10 hardware is now obsolete. But don't get too upset just yet: 'Gamers shouldn't fret too much - 10.1 adds virtually nothing that they will care about and, more to the point, adds almost nothing that developers are likely to care about. The spec revision basically makes a number of things that are optional in DX10 compulsory under the new standard - such as 32-bit floating point filtering, as opposed to the 16-bit current. 4xAA is a compulsory standard to support in 10.1, whereas graphics vendors can pick and choose their anti-aliasing support currently. We suspect that the spec is likely to be ill-received. Not only does it require brand new hardware, immediately creating a minuscule sub-set of DX10 owners, but it also requires Vista SP1, and also requires developer implementation.'"
Related Stories
[+]
Games: Valve Says Choice to Make DX10 Vista-Only Hurt PC Gaming 463 comments
Erris writes "Valve's President Gabe Newell is calling Microsoft's choice to make DirectX 10 Vista-only a 'terrible mistake' that has harmed gaming. His company's latest hardware study shows the strategy has not moved gamers onto Vista. The result is that almost no one is using the newest version of DirectX, and companies are shying away from creating new input devices that support it. Nine months after release, after Christmas, after graduation, and with school mostly back in session, still only 8% of gamers are using it." Update: 08/27 21:09 GMT by Z : An AC points out that these numbers may be framed poorly given uptake numbers for XP's release.
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
More juice! (Score:5, Funny)
Re:More juice! (Score:4, Funny)
Presumably Microsoft will be calling one of the new features "EverReady Boost"
Parent
Re:More juice! (Score:5, Interesting)
Support of the feature by the video card is mandatory. Use of the feature by the game is not.
At least, that's how I understand it.
That aside, am I the only person who remembers reading this "bomb" months back? The plan was that instead of checking for individual features (and coding around their lack case-by-case, like we will still get to do with OpenGL) the developer would check for a DirectX version, leaving fewer opportunities for wonky bugs from weird support combinations.
-:sigma.SB
(Disclaimer: I am a game developer who exclusively uses OpenGL for hardware 3D and I fully intend never to write a single line of DirectX code. Ever.)
Parent
Re:More juice! (Score:4, Insightful)
Parent
Re:More juice! (Score:5, Informative)
Parent
Wait... (Score:4, Funny)
Re:Wait... (Score:4, Insightful)
I am running OS X here and all my games are OS X native but you don't need DX 10 enabled Vista to browse game forums
The absolute need for Vista to run DX 10 killed it from the beginning. The DX 10 and Vista respectively. I am sure lots of game developers who coded direct3d only stuff questioned their choice and started to look to recent OpenGL advancements.
I am hoping they finally started to figure risks of using a MS only technology rather than platform independent, documented frameworks such as OpenGL, OpenAL.
Did MS care to explain what kind of undocumented,hidden quantum computing (!) routines in Vista needed for DX 10 running?
You think that "Linux user" wouldn't have clue but you forget WINE factor. If I had a problem with a missing dll in DirectX, I would talk to WINE people
Parent
Re:Wait... (Score:5, Insightful)
Parent
Re:Wait... (Score:5, Insightful)
But way back when, I always wondered why a company like valve took an opengl engine and ported it to directx (for hl1) when no one would argue that directx was better then. Hell, carmack had his famous open letter to microsoft to ensure support for opengl. Microsoft saw how big gaming was becoming, and the best way to tie your users to one platform was to tie the developers to one platform. If hl1 was opengl only when it exploded, maybe companies like ati would have got in gear and developed better (i.e. not shit) opengl drivers. Either that or miss on out the huge hit that was/is counterstrike. I'm not saying valve was the lynchpin in how things ended up. But if big players like them stuck to opengl, more companies might be willing to port as their games would be opengl based anyway.
So why valve did that at that time I'll never understand, but microsoft understood the market in this case, all too well.
Why aren't there more game developers like id software who actually care? Carmack has said in the past he tries to keep everything crossplatform not because it's necessarily the profitable move, but because 'it's a good thing'.
Parent
For the extra features, I'm guessing (Score:4, Insightful)
That said, AFAIK DirectX offers more features than just rendering. If you'll run "dxdiag", you'll see that it has more tabs and more DLLs listed than just Direct3D and DirectDraw. There's also stuff like DirectSound, DirectInput, DirectPlay, and a bunch of other stuff.
So if you want to make your game portable by not using any DirectX stuff, well, you'll have to write your own equivalent for that other stuff. That translates directly into higher development costs, plus God knows if your own stuff will work as well, and what bugs will it have.
(We all like to pretend that we can write better code in one afternoon than MS in 10 years, but that's actually hardly ever the case. That's more usually just a mixture of hubris and an excuse to write one's own code instead of learning how to use a library. The former is simply more fun than the latter. Don't get me wrong, there _is_ stuff out there that does work better than MS's stuff, but that one too wasn't written in a day or two.)
You also face the issue that, traditionally, most graphics cards have been optimized for DirectX, since that's what the lion's share of the market uses. Traditionally, Nvidia tends to do well in OpenGL too, ATI less so. (Plus, if you actually plan to port it to Linux, there ATI's drivers traditionally are an inside joke. Not a funny one, either.) So the choice to go OpenGL instead of Direct3D also means that a bunch of gamers will post "OMG, your game has crap frame rates" or "OMG, your game doesn't work on my computer." And be quite justified in doing so, btw.
So, there you go. As long as 99% of the PC gamers are running Windows, it makes no sense to annoy those to appease the fragmented rest of the market.
Being able to emulate or dual-boot Windows... well, takes even more out of the motivation there. Windows compatibility is how OS/2 committed seppuku, after all. If OS/2 people can just emulate your program, well, there's no reason for you to put any effort and money into porting it. The same applies to the Mac and Linux market currently, to some extent.
Parent
Re:For the extra features, I'm guessing (Score:5, Informative)
Nah there are excellent portable third-party libraries for this stuff now, such as Miles (sound), Bink (video), DemonWare (networking). The components of DirectX that are not Direct3D are pretty much irrelevant today.
Parent
Re:Wait... (Score:4, Informative)
Here's Johns 2007 Keynote from Quakecon(?) I believe.
http://www.3ddownloads.com/Action/Rage/Movies/joh
Parent
Re:Wait... (Score:5, Insightful)
I can explain that one. I read a post a while back where someone who was in the know explained it (it was on one of the Microsoft blogs, I think). DX 10 contained virtualized graphics memory (that may not be the right term). Like system memory, each program would get it's own addresses and you could page in and out graphics data. This is a big feature. It also required kernel and GDI changes. This is why DX 10 could only run on Vista.
Someone (I think it was NVidia), couldn't get it done in time.
So it ended up optional in the spec (or moved out completely, I don't remember). The people who did do it (ATI, I think) got an unfair shake. Now without that feature, there is no technical reason DX 10 can't be run on XP without a few small innocuous changes. But they don't have time at this point (or a business reason).
DX 10 being only on Vista was based on a very valid techical reason... that they gave up on and removed.
Parent
DX != OGL (Score:3, Insightful)
I would love to see more PC games developers target OpenGL, but for that to happen the little things that make DirectX at
Where is OpenGL when we need it? (Score:5, Interesting)
Re:Where is OpenGL when we need it? (Score:5, Informative)
Parent
Re: (Score:3, Insightful)
Nobody would dare claim "Upgrade your OS so you can run OpenGL 3 on your compliant hardware".
MS spent billions to DirectX and converting some naive/beginner dev
Re:Where is OpenGL when we need it? (Score:4, Funny)
@llgaz: "No, nothing can be obsolete on open industry standards like OpenGL. At last resort, your OpenGL layer would "software render" the OpenGL 3 content instead of telling GPU to draw it."
Yes, well I remember setting up my first Linux install on an old and ludicrously underpowered machine, and immediately launching (naturally) TuxRacer.
First image: Tux happily sitting on sled at top of hill.
Second image (10 seconds later): Tux careening wildly out of control down the hill.
Third image (10 seconds later): Tux's terror-striken face as he flails through the air toward a stand of trees.
Fourth image (10 seconds later): "Game over."
Parent
Re:Where is OpenGL when we need it? (Score:4, Informative)
DirectX isn't "easier" than OpenGL/OpenAL (in fact, OpenAL is higher level than DirectSound or XAudio, if you've ever used any of those APIs). The extra price of OpenGL comes not from "the fact they are intended for real developers" (whatever that means), but rather from the fact that it's not exactly the cleanest API at the moment (but that will change in a few months when OpenGL 3.0 finally hits). In combing through this thread I'm surprised I haven't seen mentioned that one big reason Direct3D took off over OpenGL on Windows is because OpenGL is notoriously difficult to write stable, performant drivers for. An article in issue #2 of the OpenGL newsletter mentioned how the old object model caused unnecessary driver overhead, for instance: http://www.opengl.org/pipeline/article/vol002_3/ [opengl.org]
Back in the late 90's when all this stuff was taking off, major games like Half-Life, Quake 2, and Unreal had several graphics renderers encapsulated in DLLs. Half-Life had software, OpenGL, and Direct3D. Quake 2 had software, OpenGL, and I think PowerVR or something. Unreal had a heck of a lot of different renderers, I know software, D3D, Glide, and OpenGL were among them. They did this because driver performance and compatibility was such a big issue back then, by writing to more than one API they could cover all the bases (card X doesn't run GL well but does run D3D well? Then we support that scenario. Card Y runs D3D poorly but does GL well? We support that, too). At the end of the day, the major graphics vendors ended up putting out really excellent D3D drivers and that helped the API out significantly. D3D was the only hardware-agnostic solution back then aside from OpenGL (ATI wasn't implementing Glide), and the API mapped to the general hardware case well enough that it was relatively easy for most vendors to write good drivers for.
Like pretty much everyone else who isn't a Microsoft employee, I do wish Microsoft would have adopted OpenGL as the sole hardware graphics standard instead of running off and creating their own thing and creating yet another obstacle to porting games over to different platforms (and to be clear, there are MANY more issues to porting games to different platforms than I/O APIs, for some reason I'll never understand that point is lost on a lot of people), but painting game developers who use DirectX as corporate Microsoft shills isn't the most honest or productive characterization of why things are the way they are. What is productive is looking at the technical flaws present in OpenGL and rectifying them, which is something the Khronos ARB Working Group has done an excellent job of.
As far as id is concerned, Carmack is using the Direct3D-only Xbox 360 as his benchmark development platform at the moment (you can go back to his Quakecon 2005 speech for a reference on that). That doesn't mean he's turned into a D3D fanboy, the Windows version of Rage is still going to be OpenGL. What it does mean is, these days he's probably more concerned with things like efficient multicore utilization, robust and productive content developer toolsets, and having a nice stable platform with excellent developer support as a testbed (something Mic
Parent
Re: (Score:3, Interesting)
I think what you say makes a lot of sense, except the last phrase. If games are easier to write (skipping over the effectiveness/perceived effectiveness of any 'platform'), then there are more people writing games and becoming developers, which would make the game market more competitive, and thusly we would have better games!
I can't see any reason why game development should not be point and click, if they made something like OpenGL easier to write for, I think it would be a positive for the game market, and might bring a viable alternative to Microsoft
Open Standards has some side effects. MS can do everything "click and run" but OpenGL ARB can't do it since it may also end up in some military planes screen. MS can say "Lets drop this, it makes coding complex, nobody would use it in game" but OpenGL can't since it could be in use. Even some high end phones run a stripped version of OpenGL.
I think a developer coding for multiple platforms using open standards must be far more complex/trained/advanced than a guy firing up Visual Studio and run some "Wizard
Re:Where is OpenGL when we need it? (Score:4, Informative)
Parent
Re:Where is OpenGL when we need it? (Score:5, Insightful)
From the SDL website:
From http://www.gamesforwindows.com/en-US/AboutGFW/Page s/DirectX10.aspx [gamesforwindows.com] :
No, it is not a joke. Yes, they are comparable.
Parent
Re: (Score:3, Informative)
No, they are not comparable. On all platforms that it supports, SDL is a layer built on top of that platform's sound and graphics and input device services.
On Windows, SDL uses DirectDraw for graphics, DirectSound for sound. On Linux, it uses X11 for graphics and OSS for sound.
Such a disappointment (Score:5, Funny)
Re:Such a disappointment (Score:5, Funny)
I have dissociative identity disorder, you insensitive clod!
Parent
M$ fractures the DX10 community! (Score:5, Funny)
Parent
Minor version change (Score:3, Insightful)
Anyway - the whole business here seems to be to force hardware upgrades by one hand and software upgrades with the other just to be sure that the flow of money is ensured. How long will it take until video drivers are Vista Only - just to force an upgrade to Vista?
Once again, early adopters take it in the shorts.. (Score:4, Interesting)
Since when is DirectX a standard? (Score:5, Insightful)
Once again, those seven little letters get left out of a "standards" article: d-e f-a-c-t-o.
Re:Since when is DirectX a standard? (Score:5, Funny)
DirectX is a standard and de facto standards are a subset of standards: the minority that are actually used.
A standard is just a set of rules. If I wrote a blog article "Rules for wiping ones arse" that would be a standard. In the unlikely event it became widely accepted it would be a de facto standard. If the international community became concerned about global arse-wiping inconsistency it could ultimately become an ISO standard.
Parent
Let's hope it doesn't come to that (Score:4, Funny)
If the international community became concerned about global arse-wiping inconsistency it could ultimately become an ISO standard.
I'm imagining the worst ISO audit ever.
Parent
Why (Score:3, Interesting)
Catchy title but... (Score:5, Insightful)
"Obsolete"
You could sum up TFA in a single line: "Microsoft discusses future extensions to the DirectX API. The current generation of hardware won't support those."
Are anyone really surprised? Newsworthy?
Re:Catchy title but... (Score:5, Insightful)
1) Some people (like many on Slashdot) hate MS and want them to fail, thus look for anything that makes them look bad and make sure it gets page time.
2) For some reason, some people had the perception that because DX10 was launched with Vista, that made it special and thus it wouldn't be changed for a long time. Never mind that MS has released a version of DirectX that has added a significant feature (as in something that needs more hardware) every 1-2 years in the past.
3) Perhaps because of this many people bought in to the DX10 cards expecting them to be "futureproof". Again no idea why anyone would think that given graphics cards are the things that evolve the fastest and thus obsolete the fastest.
Also I'm not so sure they said it wouldn't support it. Maybe I misread their slides, but all I saw was they said that "upcoming hardware" will support it. That statement doesn't mean that current hardware won't.
Either way, much ado about nothing. Games will continue to be made to support whatever hardware is common on the market. Game companies love all the flashy new toys, but they are in bussiness to make money and you do that by selling games that run on the actual systems that are out there. That means so long as most peopel don't have cards capable of using a new standard, they won't require it (though they may support it to give mroe eye candy to the eairly adopters).
Heck, right now you'll discover that a great number of games require nothing more than a DirectX 8 accelerator. That's a card like a GeForce 4 Ti fore example. Basically that means shader model 1.1 hardware. While many games support 2.0 and 3.0 (DX 9.0 and 9.0c respectively) you'll find that a good number don't require 2.0, and very few require 3.0. The reason is that there are still a lot of people using older cards. Not every one upgrades every year. Thus game makers have to take that in to account.
It's not like the second 10.1 comes out developers are going to say "Ok, everyone better upgrade because this is all we support!" They could try, and they'd just go out of business and other, smarter, developers would support the hardware that more people have.
Heck it is a pretty recent phenomena that developers have stopped supporting Windows ME for games, and some still do. Why? Enough people still used it.
Parent
Pierre Bernard says (Score:3, Funny)
Pierre - Comfortable and furious Conan.
Conan - So what are you upset about today?
Pierre - I've been a fan PC Games for ages Conan. To play the latest and greatest games requires me to continually upgrade my computer. Recently I upgraded to Windows Vista by Microsoft in order to play their newest game "Shadowrun". My PC could handle it although there wasn't much benefit over using Windows XP. It, however, required a lot more RAM and faster CPU in order to run smoothly. The game itself required the best video card I could afford. This was a serious investment, the video card alone put me back about the price of a new "non-gaming" PC. All this new hardware also required a bigger power supply, which wound up adding to my expenses. I wound up replacing my entire PC in order to save money. And since I was only upgrading for one game only it was difficult to upgrade for that alone, but I did so knowing my investment would last a year or two. Now Microsoft has announced DirectX 10.1 which makes all hardware for DirectX 10 obsolete. This made my previous investment from a month ago already worthless. To add salt to my wounds most of the features of 10.1 were optional and did nothing to improve the product. PC Gaming is an enjoyable experience, although an expensive one. Hardware should last a minimum of 6 months cutting edge, and about a year for not-the-best but playable.
Bottom line America? Microsoft needs to realize that features need to be worthwhile and should always be optional. If they are truly worth it, they will be adopted as standard by the general public very quickly.
Conan - Thank you Pierre, I'm sure two or three people across America know exactly what you're feeling like.
So DX10.0 Hardware doesnt support 10.1? (Score:4, Insightful)
You have 10.0 hardware and want it to support 10.1?
Please stop posting such nonsense, or would you cry foul if your SSE3 CPU doesnt support SSE4 when its available?
Oh no! (Score:4, Informative)
I didn't think I'd live to see the day where new technology would be unwelcome to the slashdot crowd. I guess it isn't surprising, though, it being a Microsoft product, and slashdot degenerating into a zealot sandbox.
DirectX 10.1 is going to be released about a year after DirectX 10. DirectX 9.0c was released about a year after DirectX 9.0b, and DirectX 9.0b hardware was also incompatible with DirectX 9.0c spec. That didn't create a whole lot of mainstream uproar, as people are generally positive towards new technology. I guess this being Vista and all, people can ignore pesky facts like those and continue their circle jerking unabated.
Re: (Score:3, Informative)
Re:Oh no! (Score:5, Insightful)
This isn't a tech site anymore, it's a political site. Witness all the anti-RIAA/MPAA stories, global warming stories, election stories...
Parent
Re:Oh no! (Score:4, Insightful)
Parent
A Bit Late To Notice? (Score:5, Informative)
Slashdot even covered it before [slashdot.org].
Just because Microsoft officially announced it at a conference doesn't *exactly* make it new news, since they made it very clear on roadmaps and everything else exactly what was going to happen, and why it wasn't the best idea ever to adopt DirectX 10.0 hardware, rather than hardware capable of 10.1 (or 10.2) and whatever the new superset of OpenGL happened to be (3.0 as it turns out).
Also, the reason to bother [elitebastards.com] with DirectX 10.1 isn't so much that it offers "brand new super features" to games, but the WDDM 2.1 bits, which would allow for far finer-grained context switching and task management. Being able to immediately switch from rendering one small bit, to starting to render something else, which would theorhetically make all of the compiz/Aero type stuff be able to run much more smoothly in conjunction with real 3D rendering (ie, games, CAD).
It all seems an exercise in futility to me, as far as the "DirectX 10" hardware goes. I like faster, I like more features, but there just seems no real reason to upgrade beyond my Geforce 6800 for the price point (which I got 18 months ago). Not to a 7800-series or comparable, and certainly not to an 8x00 or upcoming 9x00 Geforce, unless driver stability improves dramatically, and they can add more real-world-useful features, particularly without the need for Windows Vista. I'm back using WinXP "for a while" again, but I generally won't buy hardware anymore unless it's a notable and drastic improvement in Windows, Linux, and FreeBSD.
I digress, but the point is, the news has already been covered before. If it apparently wasn't that attention-worthy a year ago, is it now? New DirectX versions *always* require brand new hardware, whereas most minor OpenGL revisions have almost always included new features that also work on old hardware (OpenGL 1.5's Vertex Buffer Objects humming along happily on a Geforce 256, for instance), and while full compliance is the best, all you really need to care about is if something implements certain clearly defined extensions, rather than wondering if Nvidia or ATI have 'misinterpreted' specifications over DirectX. Both have been panned in the past for 'creative' adoption of pixel shader standards and bizarre interpretations of DirectX 9.
I'd just hope that eventually, there's more actual competition again, and both companies (and new companies) actually respect and care about standards compliance and that both they and the standards bodies start to care about what customers actually doing with their hardware.
Known Roadmap (Score:4, Interesting)
DirectX 10 and up is not just an accelerated video API but it is also a standard. Microsoft has completely eliminated the capability bits, or "capbits", concept in order to ensure to developers that if they program a specific version of the standard that all of the functionality mandatory by that standard will be supported by the graphics hardware. No longer will a developer target DirectX9 or OpenGL2 and have to ask the hardware whether or not it supports a plethora of options and then have to completely branch their development umpteen ways to support different varieties. If a game targets DirectX10.1 then 4xAA is guaranteed to be there, period. If a game does not require 4xAA then it doesn't have to target DirectX10.1.
So get used to it otherwise you'll be shitting yourself for every single DirectX release going forward. This is how it works now.
This is one deluded discussion... (Score:5, Insightful)
Re: (Score:3, Insightful)
Re:Buy a Mac (Score:4, Informative)
Macs may be nice machines in many respects, but let's be honest- the range and quality of Mac games is poor in comparison with that available for Windows PCs. And then to imagine that hardcore gamers are going to replace their massively-powered PCs and $600 graphics cards with an off-the-shelf iMac and be happy with its performance...?
Seriously, get real. Nice computers, but no-one ever bought a Mac as a games machine.
Parent
Re: (Score:3, Informative)
Re:I'm not really sure this matters all that much (Score:5, Informative)
http://www.opengl.org/pipeline/article/vol003_9/ [opengl.org]
Parent
Re:Are they TRYING to shoot themselves in the foot (Score:5, Informative)
Microsoft announced 10.1 as a side-by-side update - DirectX 10 is not obsolete, they are both fully supported. Developers and manufacturers have the option of coding for 10.1 or sticking with 10. The real quote:
Parent
Re: (Score:3, Funny)
Re:Mandatory 4xAA is this a joke? (Score:5, Informative)
They haven't forced you to do anything, and they haven't forced developers either.
Parent