DirectX 11

by HEXUS Staff on 18 April 2011, 00:00

Tags: Microsoft (NASDAQ:MSFT), AMD (NYSE:AMD), NVIDIA (NASDAQ:NVDA)

Quick Link: HEXUS.net/qa7li

Add to My Vault: x

Buying a new graphics card is more complicated than it may seem on first glance. To fully understand the potential purchase, you need to be aware of the underlying architecture, be cognisant of the speeds and feeds, and appreciate just how much value you're receiving for a given outlay.

AMD and NVIDIA are the two main companies who manufacture the graphics chips which are the heartbeat of any modern graphics card. These chips are then taken on by the two firms' retail partners and sold in branded form. You may well see Sapphire, HIS, XFX, EVGA, MSI or ASUS, to name but a few, sell graphics card based on AMD Radeon or NVIDIA GeForce technology.

The very latest graphics cards are advertised as being 'DX11 compliant'. Now, this term may not mean a whole heap to you, but understanding what it is and how it can benefit the user is the aim of this guide.

DirectX

DX11 is shorthand for DirectX 11, and it is the latest generation of what is known as an application programming interface. This interface governs the relationship between multimedia hardware - graphics cards, sound cards - and the operating system. DX11, like all its DX predecessors, primarily runs on Microsoft's Windows operating systems. The underlying design of DX11, which uses what's known as a Windows Device Driver Model, means that it is compatible with Windows 7 and Windows Vista only.

Graphics cards primarily use the Direct3D component of DirectX, and version 11 brings some new features that enables games developers to use a standardised, enhanced feature-set which makes it simpler to author code for better-looking effects.

DX11 has three major features that should help enable better-looking game effects and a more efficient use of the PC's resources; these are hardware-based tessellation, multithreading support, and DirectCompute.

 

 

Tessellation

One of the main challenges facing developers is in making games look more realistic. One method of achieving this aim is to increase the polygon count - the building blocks of computer graphics - for all characters on the screen. However, doing so places a huge burden on the CPU, potentially causing scenes to be drawn slowly and, consequently, a reduction in the frame rate.

Hardware-based tessellation attempts to get around this problem by using dedicated logic on the GPU (graphics card) to turn low-resolution models into higher-resolution ones, all with a minimal performance hit. Tessellation hardware has been around for a while, as it was incorporated into the original Xbox gaming console, but now it's become standard specification within DX11.

What's important to note is that the tessellation hardware isn't a magic wand for creating high-resolution models out of low-res data inputs; developers need to code for it in the games engines used by popular titles.

DirectCompute 11

While most readers of this guide will view a graphics card as a means of playing the latest games, there has been an emergence of using the GPU to act as a general-purpose device for computing complex calculations, especially if the workload is parallel in nature.

Helping out for this non-graphical aspect, DX11 brings in the DirectCompute shader, which can be used in calculation-heavy instances such as physics processing or video transcoding, for example. As it is part of DX11, the Compute shader will work on both AMD and NVIDIA's DX11 graphics cards, though it is designed to compliment rather than replace similar company-specific, non-graphical initiatives such as NVIDIA's CUDA and AMD's Stream technology.

In short, DirectCompute 11 can harness modern graphics cards' huge computational ability to process complex calculation required in many non-graphics-related tasks.

Multi-threading support

Most DirectX games are single-threaded. What that means is that only one CPU core is charged with providing the graphics card the necessary instructions for execution. That's fine for older CPUs, but most modern chips provide multi-threading support, right up to 12 threads on the latest Intel Core i7 processors. DX11's multi-threaded rendering (display lists) leverages additional CPU resources for better overall gaming performance.

Owners of DX10-class hardware needn't panic that their graphics cards will miss out on many of DX11's features. The API has a fallback to DX10, where the newer features are supported with limited functionality. The one exemption is hardware tessellation, which is a DX11-only feature.

Texture-compression improvements

Software developers look to make their games engines as efficient as possible. One method of doing this is to compress in-game textures and decompress them when necessary, for it's often difficult to store all the required information within the graphics card's memory.

Historically, the decompression of even high-quality textures has led to games having sub-optimal image quality. What's more, older versions of DirectX don't support compression for what are known as high-dynamic-range textures - used for genuinely high-quality effects.

DX11 introduces two new texture-compression formats. BC6 brings in a 6:1 compression of high-dynamic-range textures, although there is a slight loss in quality as the compression isn't lossless (artefact-free). The second format, known as BC7, works losslessly on regular, low-dynamic-range texture formats.

Conclusion

Looked on from a high-level overview, DirectX 11 brings three new weapons that can be used by games developers to create better-looking games with greater efficiency. The trio of major improvements - hardware-based tessellation, DirectCompute, and multi-threading support - combine to tap into the power of modern graphics cards.

At the time of writing, there are around 20 games, based on 10 different games engines, which support DX11 technology. These games also feature a fallback mode to either DX9 or DX10 when playing with an older graphics card.

Consumers looking to purchase a new graphics card in 2011 should look towards buying one with DX11 support. AMD's Radeon HD 5000- and 6000-series and NVIDIA's 400- and 500-series cards all support the specification.

Sponsored by SCAN