DirectX in Vista

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?
 
A

Andrew

Does anyone know what's going on?

You are running a beta OS with beta drivers.

Once you do a google and find out what beta means, it will all become
clear.
 
G

Guest

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 ;)
 
G

George Geczy

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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top