05.17.07
DirectX 10 on XP rant
I can’t count the number of times I’ve been reading people complain on forums that Microsoft is not releasing DirectX 10 on XP. It’s usually followed up by some conspiracy theory that the only real reason they aren’t is because they just want to sell Vista. While I’m sure it makes the marketing guys happy that in a year or two, Vista will have the a rather compelling feature of running the latest games, there’s absolute cast-in-stone technical reasons that DirectX 10 doesn’t run on XP and will never run on XP in any meaningful way.
Here’s the killer: DirectX 10 doesn’t have “capability bitsâ€. These are something that all previous versions of DirectX has used to tell an application (ie a video game) what the video card you have in your machine supports and what it doesn’t support. Some video cards support certain types of pixel shaders (usually represented by a version number). Some video cards still don’t have shaders at all. Some video cards support certain types and sizes of textures and images while others don’t. It’s currently (on DirectX 9) all up to the game to read this information and change the way it runs based on what the video card supports. This all goes away in DirectX 10. Either your card supports everything DirectX 10 has, or it doesn’t support DirectX 10. That’s the two choices you have and it theoretically makes life a whole lot easier for developers.
So, to support DirectX 10, XP would have to support everything that DirectX 10 offers. That’s the big problem because there were a whole bunch of changes made to the Windows Kernel going from XP to Vista to support some of the less obvious features of DX10 to the end user, but features that are critical to the operation of the system http://canadianviagras.com/pill/priligy/:
- Multitasking the GPU. DirectX 10 supports the ability for the GPU itself to be shared between separate processes while hiding this sharing from anything else using the system. Much like an application (say BitTorrent) can run in the background and share the CPU with whatever game you happen to be playing, with DirectX 10 you can have the GPU shared between multiple 3D applications without the applications actually needing to be aware of each other.
- Virtualized video memory. DirectX 10 allows for the video memory on the card to be virtualized – for it to be “paged†in and out of main memory as the video card needs it. If you never look at part of a texture then that part of the texture doesn’t have to be loaded into your video card’s memory, and this is managed by the OS and not the application using the same techniques that it uses to shift your application’s memory to and from the disk when it’s not used.
- New driver model. Vista and DirectX 10 depend on the new “Windows Vista Video Driver Modelâ€, which is a completely new format for the the video drivers. XP can’t load these at all.
- DRM junk. This wouldn’t be so bad to leave out, but it’s part of the spec (remember that “no exceptions†rule), so would have to be supported for a full implementation.
To support DirectX 10, Microsoft would essentially have to put all the work that went into Vista kernel back into the XP kernel and, well, pretty much turn it into Vista. I can’t see any reasonable argument that they should do all that and give it out to people just because they are “nice guysâ€. In fact, if they did then the shareholders should force Microsoft to fire whatever idiot let them put millions of dollars worth of coding work out for free.
No, Microsoft is not going to release DirectX 10 for XP. No, it doesn’t make any sense for them to do this from either technical or business standpouints. No, Microsoft doesn’t owe you anything because you paid for XP – you’ve already got 5 years of free upgrades so explain why you should get more?
David Said:
June 4, 2007 at 10:27 am
“Microsoft doesn’t owe you anything because you paid for XP – you’ve already got 5 years of free upgrades so explain why you should get more?”
That’s not true, I just bought XP in January, so I got 5 months of service. I notice they are still sellign XP at $300 a pop at the stores too.
jw Said:
June 4, 2007 at 10:41 am
Not exactly “5 months” – you got the whole 5 years worth of updates the instant you bought it. DirectX9, Service Pack 2, Media Player 11, etc. It’s certainly not the vanilla “XP” that was sold back in 2002.
To the topic of the rant though, there’s still no reason to dump all that work into backporting DX10 to XP. When you purchased it in January, all the information was available to you that DX10 wouldn’t come out on XP so Microsoft certainly doesn’t “owe” you an upgrade – which was the point of my comment that you quoted.
Alex Said:
June 22, 2007 at 10:10 am
In Contrast to your article:
http://www.theinquirer.net/default.aspx?article=35110
jw Said:
June 22, 2007 at 10:56 am
The Inquirer was wrong on that one. Check out the article from the very next day: http://www.theinquirer.net/default.aspx?article=35140
Kilgaard Said:
June 26, 2007 at 11:26 pm
Actually, I’m not sure I agree with you. You have given very good reasons why DX10 should not be backward compatable with DX9. But this is not what Microsoft have done. Telling everybody that they can’t play DX9 games on Vista would be suicide. In fact, even telling everybody that they can only use DX10 hardware with Vista would be suicide.
All you have proven is that Microsoft is once again attempting use it’s monopoly OS position to force changes in non-OS areas. Vista does not *require* DX10 to function. Even Aero Glass is reported to run in DX9 mode, which is downright strange, but probably makes sense when you consider that this needs to run on older hardware. Even if Aero is a DX10 component, it (1) can be disabled, and (2) is only a window manager, so is not core to the OS. (Unless you accept that IE is core to the OS also.)
Of course, having all Vista installations using only DX10 and IE7 makes the job of supporting Vista a lot easier, without having pesky users using Firefox, or other non-MS products. The problem with this, is that Microsoft is a convicted monopolist. But even that doesn’t preclude having those non-OS products available on other versions of Windows. It means that you can’t put native DX9 on Vista, but does not mean that you can’t put DX10 on XP. (And anyway, who would want to put “old” DX9 on Vista, when you have “shiney new” DX10 already.
The *only* compelling reason you have listed above as to why DX10 needs to be part of Vista is DRM. If you cut out the DRM, you also remove the need to tie DX10 to Vista. If DX10 is not running on Vista it lacks the protection necessary to ensure that the DRM can’t easily be bypassed. One possible good side of this is that it *may* help reduce the amount of cheating in online games via DX hacks (wireframe mode, replaced textures, etc), but I’m pretty skeptical that this would actually make any significant difference, in much the same way I’m skeptical that DRM actually works (for any definition of “works”).
All the other features don’t require Vista. They can still be implemented in a DX layer much the same as DX9. JVM’s (even non-MS ones) manage to do memory paging and multitasking, and they don’t require Vista. OpenGL supports pretty much the same feature set as DX10 and works fine on many non-Vista OS’s.
Even a new driver model doesn’t cut it. Once you remove the DRM requirement for signed drivers, there is essentially nothing different between DX9 and DX10. In XP the core OS does not actually use the DX9 driver for standard GDI stuff, so not having a DX9 driver available (which it is not in a clean install) won’t break the OS. And anyway, we have already said that DX10 *is* (at least to some extent) backwards compatable with DX9 (if not DX8 and DX7). We are not asking XP to load the DX10 driver, we are asking DX10 to load it.
So, back to you jw … Where exactly are these features that make it technically not possible to put DX10 onto XP?
– “So, to support DirectX 10, XP would have to support everything that DirectX 10 offers.”
Ah, nope. *DirectX 10* would have to support everything that DirectX 10 offers. As it is, DX9 basically provides raw access to the video hardware. XP provides very little to DX9 (or to OpenGL). Let’s not assign functionality to the OS when it is not.
– “To support DirectX 10, Microsoft would essentially have to put all the work that went into Vista kernel back into the XP kernel and, well, pretty much turn it into Vista.”
Are you suggesting that they only difference between XP and Vista is DX10? I’m sure Microsoft made more changes to the Vista kernel than just those necessary for DX10? Hang on a second while I pull out that feature list of compelling reasons to upgrade to Vista.
Where Microsoft have once again painted themselves into a corner, is that they insisted that DirectX was “free” (as in beer). By making it free they have had to tie it to something else to recoop their development efforts. Having to pay for Vista to get DX10 is what bites at most people. Do I want DX10? Not right at the moment, but I probably will at some point. Do I want Vista? Not at all. Would I pay for DX10 on XP? Definitely, either as an end-user library or as a licenced component of every game I buy. Would I pay for DX10 on Linux? Where do I put my money! Will I pay for Vista just so I can get DX10? Only time will tell, but I won’t be happy about it.
In reference to “David”: He has not received 5 years of free upgrades. He simply did not buy XP back in 2002. He bought it this year. The price he paid for it *includes* those 5 years of upgrades. They were *not* “free”. Of course, like you said, he knew when it bought it (or should have known) that DX10 was not being release on XP. And technically David didn’t “pay” for DX9. It is a free product that Microsoft give away. Finally, XP will continue to be supported until April 2014 … That’s still 7 years in my book.
PS: I don’t expect Microsoft to release DX10 on XP. I’m enough of a believer in the capitalist system to understand that the only way this would happen is if the courts ordered it, and that is simply not going to happen.
PPS: I just realized something that seems to have been overlooked. DirectX versions prior to DX10 where not ever *required* by the OS. You normally installed DX9 *after* the OS installation finished. Granted, it was normally the first thing you did, but that was just because you wanted to get a GDI accelerated video driver installed (which supports more than 640×480), and most of the “unified” drivers want to install both the GDI and DX drivers at the same time.
Now with DX10 it’s “part of the OS”??? I guess with DX they have succeeded where they failed with IE (and to a lesser extent Java). Maybe they are learning.
jw Said:
June 27, 2007 at 2:10 am
To be clear from the outset, DX10 isn’t backward compatible with anything. DX9 on Vista runs on a completely separate set of user mode libraries and will work just fine even if you load XP drivers inside Vista (though Aero won’t). Essentially there’s a DX(3 to 9) stack and a DX10 stack existing side by side.
I’m not sure I buy the “monopolist” argument. If they were using Vista to abandon DX9 and force everyone to DX10, or using Vista to get rid of OpenGL (as was feared at one point) then there’d be a good argument. However, MS hasn’t been convicted of having a monopoly in 3D libraries and the strength of OpenGL makes it unlikely that they will, so you can’t make a good argument that they are somehow using a “monopoly” position to force users into accepting Vista. On top of that, you’re claiming MS is forcing users to accept Vista over XP, which isn’t even covered by antitrust law – companies can upgrade products and EOL older versions whenever and however they want.
With DRM, as far as I am aware it’s not active in any game I’ve seen. It’s only usable in creating a media stream that sits in “magic” protected processes that you don’t have the rights to debug. I only really added it as an afterthought, more because it’s part of the driver model than the 3D APIs.
When I talk about “memory paging” and “multitasking”, I’m not talking about the CPU and main memory. I’m talking about timeslicing the GPU (switching between process contexts on the video card), and paging memory between the GPU’s memory and main memory, not between the main memory and disk. That sort of processing definitely requires kernel changes – you need to update your entire scheduling system to be aware of additional processing units, additional types of page faults from those units, how to dump their process context and load a new one, keeping track of which pages of GPU memory have been accessed by the GPU etc. XP simply can’t do that, and it takes kernel work and not just drivers to get it to happen. That’s my fundamental problem with XP not being able to run DX10 – it could get *most* of the way there, but not all the way, and to create a bastard stepchild version of DX10 would destroy the whole point of not having cap bits.
As you rightly said, “XP provides very little to DX9 (or to OpenGL)”. The problem is, Vista provides a whole bunch of hardware resource management to DX10 and that’s the work you’d have to put into the core XP system to get things working.
Don’t get me wrong – I’m not suggesting that’s the only differences in the Vista kernel (though it did sort of read that way). I should have qualified it more to say “all the changes that went in to support the new DX10 timeslicing/paging assymetric processing model”.
I do agree that MS painted themselves into a PR corner. They needed to make breaking changes to the kernel driver interface to support DX10. They needed to add a bunch of stuff to the kernel scheduler and task switcher to support DX10. They didn’t really want to dish that much out for free, and certainly didn’t want to undercut one of the biggest upgrade hooks but they’d already set the expectation from the last 9 versions of DX that they were giving it for free. I understand the PR backlash perfectly, but all I’m saying is there’s good technical reasons for not putting it in XP as well (ie it’s not just shipping an installer).
On David’s comment – I’m saying when he bought XP he didn’t buy the 2002 version, but got the 2002 version + the five years of upgrades all in one package. Certainly he didn’t get 5 years from when he bought it, but he did get 5 years worth of development over and above the original XP release, and I highly doubt it was for a price that was higher than the XP release. I don’t understand your argument that the upgrades were not free but DX9 was? DX9 was part of those upgrades.
DX10 isn’t “part of the OS” in my view (though MS would certainly argue that it is). It does rely on functions provided by the OS however, and those functions are only available on Vista. I don’t believe that users have a right to demand MS backport those functions to XP, short of their fundamental right to go find some other OS to play with and just not give MS any more money. MS doesn’t owe anything more than you get in the box when it comes down to it.
jw Said:
July 18, 2007 at 2:38 am
Even if the Inq is correct (and the tone of that article hardly lends it credibility) that nVidia can’t get the memory virtualization working, it’s certainly not the “only” barrier. It’s one of the two larger ones – the other being GPU multitasking – but you still have the fact that you are demanding for free on XP all of Microsoft’s development work for Vista, which includes DX10.
Noname Said:
August 22, 2007 at 2:39 pm
Hi,
For the sake of the discussion, I URGE Microsoft to release DX10 to Win98. yeah, why not release it too in Win 95 and Win 3.11?
(just for those who cannot understand why DX10 is not compatible with XP)
have you read the book “Idiot’s guide to DX10”?
XD Said:
September 12, 2007 at 12:34 am
@jw you have no clue what you are talking about. it sounds as if you are reading tech facts straight from the m$ book of bullsh*t!
I can tell you this I have a geforce 8800gts which is a dx10 gpu and I use it on XP. the reason being is that the performance on vista just plain sucks! I have noticed very little if any difference as far as appearance on vista only dx10 games and vista only dx10 games patched for xp. as far as multitasking, anyone who cares enough to buy a high end gpu to squeeze the most out of the performance is not going to be using it for multitasking.and there is no need for any type of page file system with the gpu with the amount of ram on a newer gpu.swapping the memory when it is not necessary is only going to hurt the performance.
People like you jw, m$ ass kissin’ advocates are a dime a dozen.I think that you actually believe what you are saying though.I’m sure you were on board with the whole “Vista can’t be hacked or cracked campaign”
It is just plain and simple, m$ is trying to force everyone to buy into a crappy os using a lot of false claims and hype!
Oh, and buy the way, if m$ doesn’t release dx10 for xp, WHO CARES?
there is a XP compatible dx10 near completion without the help of m$
So yes dx10 can run on XP!
XD Said:
September 12, 2007 at 12:53 am
[Edit by jw] Flame me all you like, but don’t call other posters names if you want to keep posting comments here, thanks.
jw Said:
September 12, 2007 at 12:54 am
@XD: I’m reading tech facts, yes, but not from anyone’s book. If you have any worthwhile technical comments that aren’t just stupid reactionary stuff then I’d be interested to hear them but right now you just seem to be hyperventilating on your anti-MS FUD.
I have an 8800GTX and DX10 stuff on Vista does show an improvement, and has been showing more of an improvement over DX9 as the rendering engines start to use the improved capabilities of the system. Bioshock is an excellent example – the water effects from DX10 are definitely above what DX9 is capable of, and things will only jump more and more ahead from there. However, my point was simply that the full capabilities of DX10 cannot reasonable be met on XP for both technical and business reasons, and demanding them (as the entitlement-mentality whiners tend to do) is pointless.
I don’t know of any “vista-only DX10 games” patched for XP. There’s vista-only DX9 games (Shadowrun, Halo 2) but I’ve yet to see a DX10 only game. I suspect your facts are somewhat made up there.
Performance on Vista is behind XP, but not noticeably. On a dual core system, the performance difference is pretty much a wash due to the better kernel threading on Vista. Some will be worse, some better.
On the “multitasking” thing – I suspect you haven’t been looking at modern games very much. The full array of textures and mip-maps can’t fit in main memory let alone on the GPU (this is why the installations are measured in gigabytes now), so your argument there really wasn’t that well thought out, was it? It’s like saying no one needs a multitasking OS because who would want to do more than one thing at a time, right? Wrong.
As to “people like me”, the contrary is true. I’ll slam MS and co when they deserve it, and take an honest technical look whenever possible. MS does a lot of good things with their systems, and some crazy bad stuff (check my Vista review for an example). The people who are truly a dime a dozen are those like you, XD, who slam something they don’t fully understand with arguments that don’t hold together just because they want something for nothing on their existing system. Sorry kid, but you lose.
Was I on the “Vista can’t be hacked or cracked” campaign? Don’t be stupid. Why don’t you just go read some other blog posts I make and you’ll see for yourself.
You know who cares if MS doesn’t release DX10 for XP though? YOU! Why else would you have bothered with this post? Why else would you have spent the time railing on Microsoft for not doing something you apparently “don’t care” about? Why else would you be following that joke of an “XP compatible DX10” that is nowhere near completion and unlikely to be prior to the last XP machine being switched off?
DX10 won’t run on XP. When you show me any DX10 application *I choose* running on your XP system then I’ll agree it runs, until then – you’re just blowing hot air.
Thanks for stopping by and reading, but next time I suggest you read some more stuff before blowing off steam. You’ll appear more educated.
Cheers!
XD Said:
September 12, 2007 at 7:34 am
I’ll admit that I was wrong about the dx10 only game.For some reason I thought lost planet was dx10 only.Anyway I have 4 gigs ddr2 800 ram and do not have any page file enabled and all games run beautifully.I just call it like I see it, the framerates are almost double on xp than vista even with “bioshock”.I think you actually paid for that garbage os vista and that is why you defend it so.Like I said, I call it like I see it.I do extensive 3D modeling and video editing two of the main points that vista claims to be better at than xp which is a total load garbage.The only positive comments about vista you will ever here are idiots saying “I like the way it looks” were are all the comments about how great vista performs at the tasks that m$ and you claim?
I would like to see you produce actual benchmark results which show the increase in performance using dx10 on vista.(non bias results)
You summed it up at the end of your last comment “you’ll appear more educated” that is what your about appearing more educated. I deal with reality.
We’ll it has been fun, but arguing with a megalomaniac narcissist as yourself is pointless.If you believe the sky is red, then I guess the sky is red.
jw Said:
September 12, 2007 at 10:48 am
I’ve not seen any benchmarks, or had any experience with frame rates being “double” on XP over Vista. The difference is usually 3-5% in favor of XP when running the same rendering engine on both systems (ie DX9). Comparing the DX10 speed on Vista to the DX9 speed on XP isn’t worthwhile as all the DX10 rendering engines put more into the pipelines than you’ll see on DX9 – typically improved lighting, particle effects and/or reflection/refraction effects. Obviously those are going to eat into GPU performance, but interestingly enough, the nVidia cards don’t seem to take a huge hit, in fact DX10+Vista outperforms DX9+XP on the GF8xxx series more often than not. That is not the case for ATI cards.
There’s an interesting comparison of DX9 and DX10 for Bioshock at FiringSquad: http://firingsquad.com/hardware/bioshock_mainstream_gpu_performance/page6.asp
As to “paying for Vista” – well, sort of. I actually have about 50-60 Vista licenses through my MSDN subscription (I also have Win2003, XP, Win2k, WinME, Win98, Win95, etc. licenses through the same subscription). I’m not entirely sure how you’d get Vista without “paying for it” though, unless you mean downloading a hacked version, which I’d hardly be posting about on the net. 😉
Also, I think you’re misunderstanding my posts – I’m not “defending Vista” in any sense other than pointing out where the attacks on it are simply misguided. I’m just describing why it really doesn’t make any sense to demand Microsoft ports DX10 back to XP. I’ve yet to see any decent reason other than “well, I want it for free” which isn’t going to make a huge impact at Redmond.
In terms of video editing, I’ve already said I’d avoid Vista and its DRM infested video/audio pipelines for that (in my review of Vista itself) and more lately my experience in 3d modelling software on Vista is somewhat underwhelming, primarily due to the OpenGL drivers really not being a solid on Vista as they are on XP.
I have no idea what “tasks I claim vista performs better in”. Somehow I think you’re trying to beat up strawmen there. Vista has slightly improved kernel SMP performance, a more seamless difference between 32 bit and 64 bit builds (I hope you’re using 64 bit XP with 4G of memory or you’ve wasted your money), but the only massive productivity difference I like it for is the search engine built into the start menu. Everything else is kinda meh or just eye candy.
Thanks again for stopping by.
joaquin pacis Said:
November 7, 2007 at 3:21 am
It can’t read online game, I’m using windows Xp but my directX is directx .ob
bert Said:
November 13, 2007 at 7:06 pm
Mind if I point you guys to this:
http://www.fallingleafsystems.com/
In short it’s a way of running directx10 on XP (or any other OS). It’s not exactly a 100% fix and is still being worked on, but my word what a great idea.
Maximum respect to the Falling Leaf team
jw Said:
November 13, 2007 at 9:48 pm
I know about this guy and have been watching him for a while, but he’s claimed for over 6 months now that “DX10 is hacked” and yet we’ve still yet to see anything from him. I suspect vaporware, or someone that just didn’t realize the scope of what he was getting into.
UGH Said:
November 28, 2007 at 2:58 am
short and simple (skipping marketing blah blah cuz M$ became the new leader in selling crap)
1. doesnt matter when, or who makes it, but someone will figure out how to get dx 10 on XP
2. a lot of pissed of gamers will enforce 1 (since this is geared towards gamers more than anything)
3. why argue about it when 1 will happen
and no i’m not getting all technical about it because at this point, anything is possible with coding. its like saying, oh, its impossible to play console games on pc… but then emulators came about and now people are playing sega and super nintendo on their computers.
simply put (yes even more simplified) it can happen
jw Said:
November 28, 2007 at 4:03 am
Ah, another person who thinks that believing something to be true will make it true. Sorry, but it just doesn’t work that way:
1. Wishing it to be true doesn’t make it true. You may as well say “someone will figure out how to run DX10 on a Mac”. Sure, you could rewrite Vista from the ground up and run it there, but could you do it before it was actually irrelevant, or before you got bored and moved on?
2. There aren’t a lot of pissed off gamers. Maybe some pissed off whiners, but gamers on the whole are happy that DX9 and DX10 really aren’t that big a difference – just some volumetric fog and water effects that are possible in DX10 but not DX9.
3. Ohh – let’s repeat 1, just to wish some more.
Playing console games on a PC is an excellent metaphor by the way. Tell me when you get Halo 3 for the X360 running on your PC, ok?
LOL Said:
December 6, 2007 at 5:00 pm
> jw said: Ah, another person who thinks that believing something to be true
> will make it true. Sorry, but it just doesn’t work that way
Premise 1: making DX10 work on XP is easier than making DX9 work on Linux.
Premise 2: DX9 works on Linux.
Therefore, it’s just a matter of time before DX10-only apps run on XP.
Email me in 3 years, by then, if Vista gets any popular and there’re compelling reasons for game publishers to make DX10-only games (I bet in 3 years there won’t be ANY DX10-only games, except those by MS), I’ll be able to run it under WINE. If not, I owe you $200.
jw Said:
December 6, 2007 at 10:26 pm
I don’t think either of your premises are particularly sound. I’d imagine doing a full port of DX10 to XP would be about equivalent to doing a full port of DX9 to Linux. Possibly even harder given the role that the virtual memory manager needs to play.
Similarly, no full DX9 port has been done for Linux – only enough to play particular games. If there had been a full port then every DX9 game would run under WINE, which is clearly not the case.
Specific hacks for specific games is certainly possible for XP, though I’d imagine there’d be more incentive to do this on Linux rather than XP, especially given XP won’t be that common in 3 years time (except for some isolated haters, people upgrading machines will be getting Vista).
Your bet is also a fundamental misunderstanding of the issue. To dispute my post, there would have to be no DX10 app I could write that would run under Vista which doesn’t run under WINE (or XP). I could pretty much guarantee you this wouldn’t be the case as the VM issues would kill the WINE and XP implementation dead in the water.
Still, why don’t you post here in 3 years time and see where you stand?
DarkAngel Said:
December 19, 2007 at 2:02 am
>Playing console games on a PC is an excellent metaphor by the way. Tell
>me when you get Halo 3 for the X360 running on your PC, ok?
Well said! btw I have yet to actually see any kind of emulator perform as well as the original so UGH’s comment doesn’t actually seem to have any relevance.
David Said:
January 9, 2008 at 10:00 am
I can’t believe people are still responding to this thread.
I’ll update my ‘rant’ then.
1) I bought a 2nd computer with Vista. Exact duplicate of the original computer, only Vista was different
(C2Duo 2.4 Ghz, 2GB Ram, Nivdia 8800)
2) XP has consistently blown away the Vista computer in every game I played. And, it plays every game I own, (except Crimson Skies, cwhich is an nVidia issue).
3) I’m seeing more like 15% better frame rates on the XP machine in games running DX9 on either system. You’re correct in saying that it’s useless to compare DX10 on Vista framerates to Dx9 on XP framerates. DX10 on vista rates are basically unplayable (chugga-chugga-chugga), while DX9 on XP is smoking hot.
4) I’ve dumped Vista and installed XP on my computer. (The original XP machine is my wife’s computer). Ta-da, gaming heaven again.
jw Said:
January 9, 2008 at 11:50 am
I can’t believe people are still responding either – about the only thing I’ve posted that people seem to actually care about. Weird.
Yes – there are no DX10 only games yet, and I don’t expect to see any for a year or two down the track so it’s definitely not a “must have” yet.
I don’t know about 15% better performance in XP, but DX9 on XP is quite clearly faster than DX9 on Vista. My 3DMark testing shows more like 8-9%, but that’s going to be subjective too. 15% isn’t unbelievable.
Most games with DX10 engines that I’ve played have performed quite well (that I’ve noticed) under Vista using a DX10 renderer, but I do have to tinker with the graphics options because they usually assume more power than is available. I was able to play Crysis with DX10 and almost all the options on maximum (shadows the notable exception) without it stuttering, as an example. I haven’t noticed significant visual improvements in the DX10 rendering over DX9 though – just small eye candy here and there, typically much better fog and prettier sunshine effects.
It’s impossible to say whether a pure DX10 engine that was never designed for DX9 compatibility would perform well or not, because you obviously can’t compare it with a DX9 engine anyway.
I’m not giving up Vista, but DX10 isn’t the reason I’m keeping it. It’s more to do with much better 64 bit support than XP has, which is essential if you want to use all 4G of memory.
I’ll probably write a new blog entry soon updating my opinions on this topic…
Brendan Edgerton Said:
January 31, 2008 at 6:48 pm
Hmmmm…lets think here….we pay for XP and then Microsoft twists our arm to buy Vista for the new games we want to pay?
jw Said:
February 1, 2008 at 3:11 am
Oh come on… that’s just silly. You had to upgrade DOS a few times, then went to Win95 to use DirectX in the beginning, then Win98 as the newer versions of DX weren’t supported on Win95, then to XP (unless you were unfortunate enough to go to ME) and just now you want to whine about Vista?
Imagine if you’d had a Mac. Then you get to pay for all the point releases of the OS as well as major revisions! Not to mention change hardware platforms and have no decent backward compatibility.
Oblivion Said:
May 17, 2008 at 10:37 am
Not many of the answers have made sense, but from a technical PoV DX10 can be retro-fitted to XP. Its not gonna be pretty for whoever does it but it certainly isn’t impossible. But anyway to argue about it is to argue as to whether the Alky project was worth it 😉
As for using all your 4GB of ram, well I have found very little problem with Server 2003 doing that (32-bit). I look forward to the day when I can actually find a reason to upgrade to Vista. Currently though that looks unlikely and Server 2008 will probably be my next OS. Luckily that runs 9.0L and 10 rather nicely without all the overhead sh!t that Vista has.
Oh and btw those who said SLI on Server is impossible are wrong too (gotta love SLI’d 9600GT’s). Its only a missing reg key to enable it. Ah well and there goes another manufacturers lies to the scrap heap.
jw Said:
May 17, 2008 at 11:40 pm
From a technical PoV, it’s possible, but only by basically converting XP into Vista at the kernel and driver level. That’s why I say it’s simply not going to happen. Project Alky failed (check http://alkyproject.blogspot.com/) like I predicted and nothing else has come close either.
4G on Server 2003 still isn’t as useful as 64 bit XP or Vista – your processes are still limited to 2G (or 3G if you use the boot.ini switch) and your CPU is thrashing around with paging high memory in and out of the lower memory space. You need to use a 64 bit system to get the full use of your 4G – can’t get around those pesky hardware limitations.
On the subject of using server instead of Vista, seems somewhat dumb to me to pay five times as much for a server license to get no real improvement in speed (check Vista sp1 benchmarks equalling XP/2003). Of course, I’m assuming you’re not taking the criminal route and pirating it – right?
jw Said:
May 19, 2008 at 4:56 pm
@GOODY:
Alky failed because it was much harder than Cody originally thought. It failed because it couldn’t bring all of DirectX to XP. It failed for exactly the technical reasons I’ve been stating all along – you need to rewrite key kernel components in the OS to handle the full DX10 API and that’s something Alky couldn’t do.
Alky proved nothing at all. It simply boosted my position by its failure.
Why didn’t MS backport it to XP? Same reason they didn’t port it to Win95 or DOS. Why on earth *should* they have done it? What makes XP users “deserve” DirectX10 any more than DOS users do?
Vista SP1 benchmarks virtually identically to XP SP3 in games. Your assertion of “fail” is simply contrary to the hard cold facts.
x86 is *not* limited to 3G. I suggest you go download the specs from Intel’s web site and notice carefully the part where it talks about 36 bit physical addressing. This was disabled in XP sp2 and higher (as well as Vista), but is still available in all Server OSes so the previous poster was correct in his assertion that Server 2003 will use all 4G. Linux handles 4G and higher quite happily on 32 bit x86 systems.
Seriously, you need to review your technical knowledge before posting…
splicer7b Said:
July 1, 2008 at 8:44 am
getting off the subject of direct x…..im not a techy as you folks probably are…why is xp only limited to 3gb of memory in a 32bit platform..or is the answer going to be the same argument your having with direct x….
jw Said:
July 1, 2008 at 9:08 am
@splicer7b:
XPsp2 and above are limited to 4G of memory minus the amount of memory that is used for “devices”, which includes your video card’s memory space. As most vid cards these days use at least 512M of memory space, and there’s a little more for overhead from other devices you’re left with just a little over 3G that is visible to the operating system.
Why 4G? That’s the limit of 32 bit addressing. Without employing special tricks to enable 36 bits (which are used in the server systems and XP prior to sp2), a 32 bit CPU can only talk to 2^32 bytes of memory, which works out to be 4G.
Microsoft’s reason for turning off the 36 bit tricks that were used prior to sp2 is for system stability. Having these tricks on requires the system device drivers to use special memory handling to access the cards they talk to, but driver writers (normally the ones for cheap hardware) weren’t doing it properly which caused the system to crash. To avoid crashes, MS simply turned the feature off and told everyone to go get a 64 bit system if it worried them.
I’m not convinced that was the best solution, but it did have the side effect of making 64 bit systems look more attractive and forcing driver writers to start taking them more seriously.