DirectX in Vista

  • Thread starter Thread starter Kevin Arthur
  • Start date Start date
K

Kevin Arthur

In various places, I've read that Vista comes with DirectX 10. In others,
I've read that, for debugging purposes, it comes with DirectX 9. Both of
these would seem to make since, but whenever I start a game not designed for
Vista, it tells me that I need to install either the latest version of
DirectX or DirectDraw, a component of DirectX. I downloaded the DirectX 9c
installer, but it skips from the welcome screen to the finished screen.
Also, I am using the beta catalyst driver from ATI, and the system info
there says I am using DirectX 6.14. Does anyone know what's going on?
 
Vista will come with DirectX 10 on final release. but Aero will run on
DirectX 9 for compatibility reasons.
DirectX 9 and earlier will be run through an 'emulation layer' to put it
simply, meaning that all DX9 code and earlier will be run by DX10 - thus DX10
can be smaller and more efficient.

Or at least that's my understanding ;)
 
Vista will come with DirectX 10 on final release. but Aero will run on
DirectX 9 for compatibility reasons.
DirectX 9 and earlier will be run through an 'emulation layer' to put it
simply, meaning that all DX9 code and earlier will be run by DX10 - thus
DX10
can be smaller and more efficient.

Or at least that's my understanding ;)

Not correct on the technical bits, but close enough for discussion purposes
:-)

To the original question, DirectX uses a 'backwards compatibity' design
which means that each new release of DX incorporates the interfaces of the
previous versions, so that as long as you have a 'greater than' version of
DX than what your game/app was written for, it will work. (There is a minor
catch with recent relases of DX9 that require a different version of the
D3DX dll for each SDK release, which in English means that if your game
didn't install the required file on installation you may not be able to run
it, until you get the missing dll on to your system. But this isn't
actually the 'core' DirectX, this is just a helper file.)

The true purpose of the 'emulation layer' (virtualization) is to prevent
apps from talking directly to the video hardware, for good or bad. But this
happens transparently and apps never know what is going on with this.
 
Back
Top