DXDiag, DX versions, and what your computer can do

DXDiag is this great diagnostic for your gaming hardware. It was created during my time as DX SDK PM by the DX SDK and Tools team. It is hard to imagine gaming before DXDiag and its reporting what is on your machine; but lately I have seen a lot of misunderstanding what DXDiag is and what it does.

DXDiag is a tabbed application that presents information about your gaming hardware.

The front page is the "System" tab and provides general information about what is installed on your machine.

There are tabs specific to DirectXFiles, Display, Sound, Music, Input, Network. and More Help. Each of these specific tabs provides detailed information on that component and all but the Input tab have "Test" buttons to allow you to test the gaming functionality. The results of those tests will inform you as to what the max DX version you can successfully run is. Go to the Graphics tab, and based on the versions it lets you test and what versions pass the test, that defines what Windows thinks your hardware *can run*. Not installed, but what is actually supported by your hardware.

If you are translating what DXDiag says is the highest level of DX installed on your machine, as shown by the data contained on the 1st tab of DXDiag, into what us being used or running - you misunderstand DXDiag. The front tab of DXDiag is informative only, so that is what you *have installed*. DXDiag on Vista will report DX10 is installed even if you have only a DX9 graphics card because DX10 is installed on Vista by default.

That still doesnt mean you are running DX version N. Now it is up to each app to detect what the hardware *can run* and then instantiate an instance of a graphics engine *to use* the hardware.  Since most of the previous versions of DX are available, there is nothing to stop an application from using DX7, for instance, on your DX9 hardware.

So unless you know exactly what renderer a specific game is using, you cannot state what you are running unless you are on Vista. Vista itself uses DX9.Ex or DX9.L to render the desktop, the windows, and the other UI elements. Thus on Vista DX9 *is always* being used.

XP uses GDI, and thus does not get full benefit from the video card like Vista does.

And just for the record, FSX-SP2 ( and Acceleration ) have both a DX9 and a DX10 renderer, and will detect what hardware you have. If you are on Vista with DX10 hardware, you will get the 'DX10 Preview' checkbox. No Vista, no DX10 hardware, no checkbox.