DirectX is a programming interface that allows programs (like games) to talk with your PC hardware (like your video card). There are several DirectX versions available and in this short tutorial we will explain what the main differences between them are.
Imagine that your computer is a sandwich. The hardware is one of the bread slices and the software is the other. What go between these slices are the drivers and the programming interfaces (API). This stuffing makes the “translation” of the communication between the software and the hardware. So, instead a programmer writing programs to a specific hardware, s/he writes programs for the operating system, in which a driver will translate what the program wants and will access the hardware according to what was requested. The program can also be written for a programming interface that serves the same purpose. The advantage of this technique is that the programmer doesn't need to know the specifics of the hardware the user has; the programming interface converts what the programmer wants into a command that is compatible with the hardware the user has.
DirectX and OpenGL are currently the most popular programming interfaces for video cards. Instead of writing a game for a specific hardware, it is written using DirectX (or OpenGL) commands that will convert the commands sent by the game into instructions that the hardware (such as the video card and the sound card) understands.
There are several versions of the DirectX. When we say that a game is DirectX 9, for instance, it means this game uses DirectX version 9.0 instructions. You must have DirectX version 9.0 or superior installed in your machine to run this game, and preferentially hardware of the same generation or superior, too. If you, for instance, have a DirectX 9 game in your PC and a video card whose graphic chip is DirectX 8, when the game requests a command that DirectX knows your video card won't understand, it will make an emulation to execute the command. Of course this emulation is not perfect and the final result will be that the game won't have the same image quality as if it were run in a genuinely DirectX 9 hardware.
It is advisable to have the latest DirectX version installed in the computer. Unfortunately the lastest version available, 10, is only available for Windows Vista (it comes embedded with this operating system). If you have other operating system, like Windows XP, you will have to stick with the latest version before the 10th, 9.0c. This version is included in Service Packs 2 and 3 for this operating system. So install Service Pack 3 to have DirectX 9.0c on your Windows XP plus several other security fixes. If you have a DirectX 10-based video card and a DirectX 10 game you will have to upgrade to Windows Vista to take full advantage of DirectX 10 graphics (i.e., better image quality). Otherwise the game will run in DirectX 9.0c mode. If you use Windows Vista, you will have to install Service Pack 1 to upgrade DirectX to 10.1.
To discover the DirectX version that is installed in your PC, go to Start, Run (all Programs, Accessories, Run on Windows Vista) and enter Dxdiag. In the last line of the main window of the DirectX Diagnosis Tool you will see the DirectX version the system is using right now. On Windows Vista you will have to pay attention to the last line on this screen (“DxDiag 6.0.600x.xxxxx”) to determine that you have DirectX 10 or DirectX 10.1 installed on your system, since both of them will report “DirectX 10” on the “DirectX Version” like – compare the number your system is reporting there with the number presented in the table below. On other operating systems clicking in the DirectX Files tab you will see details of all DirectX in the machine and if there is any type of conflict in your machine, in the field “Notes.”
In the table below we compiled all DirectX versions that have already been launched. We indicate in the table which DirectX version is standard in each Windows operating system. For instance, Windows XP comes with DirectX 8.1. As you can see, all Windows systems besidesWindows Server 2008 require you to update the DirectX to get the best performance possible and enable all graphics features your video card can deliver.
DirectX 2.0 / 2.0a
Windows 95 OSR2 and NT 4.0
DirectX 3.0 / 3.0a
4.04.0068 / 69
Windows NT 4.0 SP3
4.05.01.1721 / 1998
Windows 98 SE and ME
Windows XP and Server 2003
|Windows XP SP2, Windows Server 2003 SP1|
|DirectX 10||6.00.6000.16386||Windows Vista |
|DirectX 10.1||6.00.6001.18000||Windows Vista SP1 and Windows Server 2008|