Anyone who has installed a Windows game over the last 15 years should be familiar with one particular thing -- at the end of installing a video game, the wizard will ask you to upgrade to the latest version of DirectX on your computer.

Ever wondered what that is or why it's even needed? We've got all the answers for you right here.

What Is DirectX?

A computer is all about making software and hardware talk to each other in a seamless manner. To you, it should look like magic. But under the hood, developers spend a lot of time programming software so that it uses hardware resources as efficiently as possible.

A video game console, like the Xbox One or PlayStation 4, has specific hardware in it. It doesn't change from system to system. Every PS4 has the same processor, same graphics card, same RAM, and so on.

So when developers make a game for the PS4, they know exactly what hardware they are working with. While anyone can make video games without programming, the pros work hard to eke every resource from the hardware to deliver the best performance.

Directx-logo

Of course, things are not as simple when making games for PCs. You have different components from various manufacturers that can greatly alter performance. Two PCs can have completely different processors, motherboards, and graphics cards, and there are thousands of permutations of this.

So how does a developer make sure he can get the best performance?

That's where DirectX comes in. DirectX is an applications programming interface (API) that lets software-makers (like video game developers) talk more easily with the different hardware components that Windows PCs run on.

directx-black-logo

DirectX is broadly divided into three parts:

  • Direct3D (to use the graphics card to render 3D objects)
  • DirectDraw (to use the graphics card to render 2D objects)
  • DirectSound (to use the sound card to deliver better audio)

Put simply, DirectX is a language bridge that lets video game makers talk to a variety of hardware on a PC running Windows, without needing to write separate code for each.

DirectX vs. OpenGL

Much like Microsoft's DirectX, there's another industry standard API called OpenGL. Both DirectX and OpenGL do the same basic job, i.e. make it easier for developers to build video games by creating a standard "language" to talk to different hardware.

But there are a few fundamental differences. DirectX gives developers more control over the hardware, letting them choose how to use the different resources available on a system. OpenGL has specific parameters which the developer must comply to, and will allocate resources accordingly.

Which school of thought is better? It's a never-ending debate that has been raging for decades now, so don't worry about it too much.

What matters to you, the consumer, is this: DirectX is important for Windows PCs and video game makers respond rapidly to changes in it while OpenGL is great for optimizing Linux games like Minecraft and is important for Linux-based operating systems like SteamOS.

Here's the thing though. As of this writing, DirectX has an edge over OpenGL. Ars Technica even ran a comparison of Windows 10 and SteamOS and found that DirectX has significantly better performance than OpenGL. Maybe that might change in the future, but don't bet your house on it.

What's Special About DirectX 12?

Windows 10, Microsoft's latest operating system, also comes exclusively with the latest version of DirectX. In fact, we'd go so far as to say DirectX 12 is one tactic to make you upgrade if you haven't already. Everything up to Windows 8 supports DirectX 11, and tests have shown that DirectX 12 is far superior.

One of the biggest advantages of DirectX 12 is something called multi-adapter support. Modern CPUs are actually APUs -- Accelerated Processing Units -- which combine a computer processor and a graphics processor into one chip. So, since your CPU already has a graphics processor in it, why waste that bit of hardware?

DirectX 12 smartly offloads computation to your main graphics card and to your CPU's built-in graphics processor. The main graphics card will do the heavy-duty work while your APU does the lighter-duty work. The end result is faster rendering of graphics and more efficient processing of gameplay.

directx-12-multi-adapter

Be warned that DirectX 12 is still a little bit away from mass adoption by developers. Plus, while it does work with older hardware, you'll still need something recent to really take full advantage of it.

How to Check & Upgrade DirectX

It's easy to check what version of DirectX you are using right now. Here's the simple process:

  1. Go to Start > Run or press Win + R.
  2. Type "dxdiag" (without the quotes) and press Enter or click OK. This will open the DirectX Diagnostics Tool.
  3. The bottom of the pane will show which version of DirectX you're on.
DirectX-Diagnostic-Tool-version

Windows 10 users should be on DirectX 12 or DirectX 11, while Windows 7 and Windows 8 users should be on DirectX 11. Microsoft has stopped supporting Windows XP officially, but it's not going away just yet. If you're on XP, you'll probably see DirectX 9.

If you think you are lagging behind, you can manually download and install DirectX from Microsoft, or just run Windows Update.

DirectX-Diagnostic-Tool-display-hardware-acceleration

Also, go to the Display tab of the DirectX Diagnostics Tool and check if DirectDraw, Direct3D, or AGP Texture acceleration is marked Not Available. This indicates your hardware is not supported by the version of DirectX you are running, so you cannot avail of hardware acceleration. It's best to upgrade your hardware if you want that.

Will You Switch to Windows 10 for DX12?

Now, Windows 10 has lots of other features for gamers, but DirectX 12 is arguably the most important of these. Will you switch to the new version of Windows just to get DX12?

Are you happy to stick to your current version of Windows? Does it make more sense to buy new DX12-compatible hardware or just to get a new video game console? Tell us in the comments!

Image Credits: Branko Vucinec / Microsoft Technet