DirectX Graphics APIs explained.

Posted: January 28, 2012 by ryanlecocq in Technology

Recently I’ve been explaining this one a lot.  The increasing number of DirectX 11 games play a part, but the main culprit is The Elder Scrolls V: Skyrim.  Skyrim recommends a quad-core CPU, but uses Microsoft DirectX 10, which only partially supports quads.  I’ll explain that in detail in the DX10 section below.  Basically a lot of people have been mislead into believing that they need to upgrade when this will not actually offer much benefit for their needs.  Read on before you go into your local Best Buy or Compucare and ask them what you need to play the newest games.

 

DirectX 9 (Windows XP)

DirectX 9 is the graphics API paired with the venerable XP.  Since Windows XP experienced such popularity and longevity, most games were designed for DX9 until very recently.  DirectX 9 is also equivalent to the shader abilities of the Xbox 360 and PS3 (though the Xbox is capable of some DX10 effects), making it easy to release on all platforms with similar performance.

DX9 uses up to 2 CPU cores and generally cannot address more than 2GB of RAM.  It’s limited to Shader Model 3.0+ which includes features like normal mapping (the effect that makes flat textures look bumpy) and HDR lighting (effect package that creates realistic light sources).  Most of the graphical effects that people think of as “next-generation” are included in DirectX 9.

 

DirectX 10 (Windows Vista)

Although very few people are using Windows Vista, you will still see a lot of games designed for DX10.  The main reason for this is that it’s forward compatible with Windows 7’s DX11 and backwards compatible with the Xbox 360.  Another reason you will see DX10 used in games is because it’s sort of a “baby step” up from the familiar DX9.  Direct X 10 includes some improvements and basic versions of newer features like tessellation, but it’s main benefit is the ability to split 2 threads between 3-4 cores.

This is where Skyrim and other popular DX10 based games come in.  DirectX 10 can only use 2 threads, just like DX9, but it can split them across more cores.  This means you can use the cache and front-side bus link of each core, but it only uses the equivalent of 2 cores worth of usage.  So on a quad-c0re, the game is only running at up to 50% of each core.  This can be only a negligible improvement or even offer worse performance if your quad is slower per core than your old dual.  So for example the best CPU for Skyrim would be a dual-core i5 with high clock speeds over a quad-core i7 with slower speeds per core and the same cache per core.

 

DirectX 11 (Windows 7)

Until Windows 8 rolls out with DirectX 12, DX11 is currently the highest level of graphics implementation in PC games.  Besides all of the fancy light diffusion and anti-aliasing tech in DX11, the big benefit is the utilization of 4-6 or even potentially more CPU cores up to 100%.  DirectX 11 is also fully 64-bit down to it’s bones, so addressing all that RAM you have is no problem.  This is the leap in API technology that allows an extremely inexpensive laptop like my Asus K53TA to play a game like Deus Ex: Human Revolution with maxed settings at 40-60fps.  All 4 of those inexpensive AMD A6 cores are being used at 70-85% to crank out that smooth framerate.  The Radeon 6000 mobile GPU is fully utilizing it’s shader pipelines in the ideal pattern to handle the fancy lighting effects.  Forcing the game to run in DX9 would kill my frames anywhere from 20-50%.

Although DirectX 11 is becoming more and more standard for high end PC games as Windows 7 becomes the OS standard, it is currently being held back by the consoles.  Many of the most popular games like Skyrim and BatmanL Arkham City feature either no DX11 support or extremely poorly implemented support.  Since the Xbox, Playstation and low-midrange PC market are 80-90% of their target, this is hard to fault.  With a new batch of consoles, we will hopefully see this change.  For now though, unless your game supports DX11, you are wasting your money buying a quad-core and more RAM for the purpose of gaming.  The absolute fastest way to run any DX9-10 game is with a dual-core with the fastest clocks and largest caches possible.  So you could save yourself a lot of money by buying an i5 with a 6MB L3 cache.  It will run the shit out of Skyrim and Batman, which I know a few i7 and Phenom II owners would kill for right now.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s