Why didnt DX 10.1 catch on?

Status
Not open for further replies.

suryad

Veteran
I was having a discussion with my friend and he thinks its because of Nvidia strongarming the industry by refusing to support the spec...but I was not entirely convinced. Sorry if this is the wrong forum to post this but was not DX 10.1 providing additional performance by skipping a render pass or something like that?
 
DX10.0 never "caught on" either. The real problem is that Microsoft refused to support DX10 on XP when a majority of developers still have a majority of users in XP (btw, XP OpenGL drivers from NVidia have DX10 functionality). So why should a hardware manufacture take DX10 +.1 seriously when it was directly undermined by the very company which was promoting the standard. Why build hardware for something which a majority of developers were not going to use anyway.
 
We have ISV's announcing DX10.1 titles right now. This thread title seems a little off base...
 
I think tying DX10/10.1 to Vista is the thing that hurt it the most. Why program for a small minority of Vista/DX10 gamers in addition to the XP/DX9 gamers you have to support anyway? You can't cut out your DX9 gamers because there are so many of them, and there's no point doing DX10 if all you're going to do is add a few effects so you don't have to do a complete rewrite for a true DX10 only game.

MS obviously thought that restricting DX10 to Vista would cause gamers to rush out and buy Vista to get it. Instead, all it did was ensure that XP gamers didn't buy any DX10 only games and the market for DX10 development has been stunted. It's not difficult when you look at the cost of a PC game compared to the cost of a new OS (especially if you need new hardware to run the OS as well).

What MS should have done is provide DX10 to XP users. Then developers could have developed for both XP and Vista with one codebase, thereby easing the transition between the two DX versions and allowing people to upgrade to Vista when they wanted.

By putting the hard roadblock of needing a new OS in the path of gamers, MS effectively killed the uptake of DX10/10.1 by gamers, and thus it's use for new games.
 
DX10.0 never "caught on" either. The real problem is that Microsoft refused to support DX10 on XP when a majority of developers still have a majority of users in XP
We've already have incredibly long diatribes about this topic on this very forum. Supporting DX10 on XP would have been a years-long effort, and would have required a whole new driver model for XP. Asking for XP to support DX10 is a far worse way to look at this...

(btw, XP OpenGL drivers from NVidia have DX10 functionality)
Care to elaborate on this? Last I checked, the best you could potentially offer was a few DX10-esque items. See also: GL3.0 spec and associated debacle.

As for why people aren't using it? The underlying things that make DX10 so much better than DX9 (far reduced draw calls being a primary one) are also things that require major engine change. And if you want to "fall back" to DX9, I get the feeling that you'll pretty much need to build a DX9 engine and then slap on some optional DX10 calls where it makes sense. And so far, that seems to be A: the most preferred solution but sadly B: the least performant one.
 
We have ISV's announcing DX10.1 titles right now.

Yes, you have. But beside of us there were only two others IIRC.

The real problem is that Microsoft refused to support DX10 on XP when a majority of developers still have a majority of users in XP

The majority of users have only Direct3D 9 compatible hardware two. Therefore we have two problems
- No D3D10 on XP
- No D3D10 with pre D3D10 Hardware.

Care to elaborate on this? Last I checked, the best you could potentially offer was a few DX10-esque items. See also: GL3.0 spec and associated debacle.

Most functionality is there. But I stopped playing around after I run in the sampler/texture unit limit with OpenGL.

As for why people aren't using it? The underlying things that make DX10 so much better than DX9 (far reduced draw calls being a primary one) are also things that require major engine change. And if you want to "fall back" to DX9, I get the feeling that you'll pretty much need to build a DX9 engine and then slap on some optional DX10 calls where it makes sense. And so far, that seems to be A: the most preferred solution but sadly B: the least performant one.

If you do a simple port from 9 to 10 it will totally suck. The right ways is more like writing a D3D10 engine and then port it back to 9. Most people are not willing to do this now.
 
Thanks guys. I have some ammo now to argue with my buddy. I didnt want to start up the XP vs Vista and DX 9 vs DX 10 diatribes again. I was just genuinely curious since there are quite a lot of Vista users out now and some of them are even going out and spending their hard earned money and getting their own copy of the OS...:p and I only heard of Assassin's Creed actually using 10.1...didnt hear of anyone else hence my question. If moderators feel strongly about this thread being inappropriate please go ahead and kill it.
 
It's not inappropriate, just a little obvious. D3D10 development is still in its relative infancy, and the market is yet to enjoy 10.1 hardware from both vendors. Remember how long it took for 9 to take over.
 
It's not inappropriate, just a little obvious. D3D10 development is still in its relative infancy, and the market is yet to enjoy 10.1 hardware from both vendors. Remember how long it took for 9 to take over.

Actually I dont remember that well how long it took for DX 9 to take over hehe. I only really started following the market since a few years when I started building computers.
 
I'd like to turn it around:
Why would DX10.1 have caught on already? DX10.1 wasn't available until SP1, so it's been on the market for less than a year. Most developers probably haven't had enough time to get a DX10.1 product out on the market.

Ofcourse there's Assassin's Creed, and the rather peculiar patch that removes DX10.1 because of an alleged bug in the DX10.1 renderpath...

I would have thought that the DX10 vs DX9 debate would be over by now though. As far as I know, all major titles released in the past 6+ months have supported DX10 (although not always very successfully I must admit).
 
It took a long time for dx9 to become the standard for gaming. DX9 hardware was released in august 2002, DX9 was first released in early '03. Most games of the time were still DX7 with minimal DX8 effects (for example ut2k3). We're going to see a even longer transition to DX10 because it's vista only. And as other have said the driver models are completely different, so XP's inability to run DX10 is not an MS imposed limitation.

and dx10.1 isn't taking hold because only a small portion of currently deployed dx10 hardware (which is in itself a small portion of all deployed gpus) supports it.
 
We've already have incredibly long diatribes about this topic on this very forum. Supporting DX10 on XP would have been a years-long effort, and would have required a whole new driver model for XP. Asking for XP to support DX10 is a far worse way to look at this...

Hogwash! DX10 could of been supported on XP without much work whatsoever. The only reason XP doesn't have support is that it would be directly contrary to MS direction to EOL XP.


As for why people aren't using it? The underlying things that make DX10 so much better than DX9 (far reduced draw calls being a primary one) are also things that require major engine change. And if you want to "fall back" to DX9, I get the feeling that you'll pretty much need to build a DX9 engine and then slap on some optional DX10 calls where it makes sense. And so far, that seems to be A: the most preferred solution but sadly B: the least performant one.

they aren't using it because only a SMALL SMALL fraction of the market is using vista, even among avid gamers. The fraction of DX10 capable cards sold that will never run DX10 is likely in the 80%+ range.
 
And as other have said the driver models are completely different, so XP's inability to run DX10 is not an MS imposed limitation.

people can keep repeating it, but its remains hogwash. DX10 could have and should have been supported on XP. There is nothing fundamental in DX10 that won't work under XP.
 
people can keep repeating it, but its remains hogwash. DX10 could have and should have been supported on XP. There is nothing fundamental in DX10 that won't work under XP.

But that would take away the only thing in Vista more than a few people might be interested in. Then there wouldn't be any reason to have to deal with the general unpleasantness of the Vista experience.
 
And as other have said the driver models are completely different, so XP's inability to run DX10 is not an MS imposed limitation.

No, it absolutely is an MS imposed limitation. NVidia's OpenGL drivers on XP currently have 99% of DX10 functionality right now and much earlier as well (I've personally been using DX10 GL functionality for some time now). The only DX10 functionality missing in OpenGL for XP is due to OpenGL API issues. In fact OpenGL XP drivers (from NVidia) actually have some advantages over the Vista DX10 drivers in terms of buffer management.

If OpenGL ever gets the object model rewrite to immutable objects, one could probably easily emulate DX10 through future GL on XP.
 
No, it absolutely is an MS imposed limitation. NVidia's OpenGL drivers on XP currently have 99% of DX10 functionality right now and much earlier as well (I've personally been using DX10 GL functionality for some time now). The only DX10 functionality missing in OpenGL for XP is due to OpenGL API issues. In fact OpenGL XP drivers (from NVidia) actually have some advantages over the Vista DX10 drivers in terms of buffer management.

If OpenGL ever gets the object model rewrite to immutable objects, one could probably easily emulate DX10 through future GL on XP.

He said 'driver model'.
DX10's biggest feature is not an actual graphics feature, but the fact that the complete 'stack' has been revised top to bottom to solve the problem of calling overhead that plagued DX9 and earlier versions (due to limitations of the legacy driver model).

You could add (most of) the DX10 graphics features to XP, but then you'd get something like DX9.0c or DX9.1 or such.
The actual driver model cannot be backported to XP, and it's not exactly a good idea to change the driver model on an OS with some kind of patch. Who knows what kind of compatibility problems you'll introduce.

So yes, the graphics features of DX10 could obviously be implemented on XP, but no, DX10 as we know it (the complete DX10, including the whole driver model and everything) would require modifications at kernel level, which is too risky, and not worth the investment.

I think people should just get over it.
 
He said 'driver model'.
DX10's biggest feature is not an actual graphics feature, but the fact that the complete 'stack' has been revised top to bottom to solve the problem of calling overhead that plagued DX9 and earlier versions (due to limitations of the legacy driver model).

You could add (most of) the DX10 graphics features to XP, but then you'd get something like DX9.0c or DX9.1 or such.
The actual driver model cannot be backported to XP, and it's not exactly a good idea to change the driver model on an OS with some kind of patch. Who knows what kind of compatibility problems you'll introduce.

So yes, the graphics features of DX10 could obviously be implemented on XP, but no, DX10 as we know it (the complete DX10, including the whole driver model and everything) would require modifications at kernel level, which is too risky, and not worth the investment.

I think people should just get over it.

Again complete BS. OpenGL never had DX9 "driver model problems". There is no reason MS couldn't have corrected driver kernel switch overhead by a different user/kernel ratio in the library which interfaces between the driver and the application. There is no need to change the entire driver model to do this. And OpenGL has proven this time and time again, OpenGL uses the XP driver model, and imagine that, actually has low overhead.
 
Obviously. It has nothing to do with WDDM. That would be silly. :)

And look at what it's done for the take up of DX10 via Vista. Some version of DX10 for XP, even if it wasn't as fast would have given a kickstart to the development of DX10 games, would have made the DX10 market much bigger, and would actually have encouraged people to move to Vista to get the "real" DX10.
 
Maybe DirectX 10 and PC gaming isn't actually a huge priority over at MS? ;) It is a nice extra selling point for Vista though, that's for sure. From a business standpoint, dumping any extra resources into XP may not make any sense.

OpenGL isn't exactly putting up much of a fight even considering it has the advantage apparently, with aforementioned similar-to-DX10 functionality in both XP and Vista.
 
Status
Not open for further replies.
Back
Top