Scan's TekSpek

Our Aim
To provide you with an overview on New And existing technologies, hopefully helping you understand the changes in the technology. Together with the overviews we hope to bring topical issues to light from a series of independent reviewers saving you the time And hassle of fact finding over the web.

We will over time provide you with quality content which you can browse and subscribe to at your leisure.

TekSpek GPU - Graphics
DirectX 12

DirectX 12


Date issued:

If you happen to be a keen gamer, you've probably heard the hype: DirectX 12 has arrived as part of Windows 10, and the latest generation of Microsoft's application programming interface (API) is in some circles being heralded as the second coming for PC gaming. So what is DX12, and why might it matter to you?

Where does DirectX 12 come from ?

Introduced in unison with Windows 10, DirectX 12 is the latest iteration of a programming interface that dates back to the last century. The first version of DirectX was launched in 1995 as a means to give programmers access to hardware devices in a post-DOS environment and has gone on to serve as one of the most important elements of a PC game.

DirectX 12

In its simplest form, DirectX acts as a go-between for hardware - be it something as complex as a graphics card or something as simple as a mouse - and the operating system. Born as a by-product of Windows 95's protected memory model, DirectX served as a pathway to system hardware and resources and signalled an end to the less-secure days of DOS providing direct access to hardware components.

Simplifying the technology to its very basics, imagine a scenario in which you're developing an app that plays a sound. Rather than spending the rest of your natural life ensuring compatibility with the vast array of sound cards that are available, you instead call on a DirectX API to play the sound. The nature of a widely-used API makes it relatively easy to work with, and in order for it to function, the sound-card manufacturer need only supply a DirectX-compatible driver.

DirectX has since evolved into a hugely sophisticated API. It serves as the underlying foundation of Microsoft's Xbox, Xbox 360 and Xbox One games consoles - hence the 'X' branding - and has been updated in recent years with innovative new features designed to transform the PC experience, particularly with regards to gaming. DirectX 10, launched as part of Windows Vista, brought with it an updated shader model (4.0), as well scheduling and memory virtualisation capabilities.

In 2009, DirectX 11 became the standard-bearer for Windows 7 and touted hardware-based tessellation, improved support for multi-core CPUs, and GPGPU - a process through which the GPU could act as a general-purpose device for computing complex calculations.

Fast forward to the present day and DirectX 12 is available as part of Windows 10 and will also serve as the API of choice for the latest PCs as well as the Xbox One games console.

What's new to DirectX 12?

While there are plenty of new innovations to get excited about it, perhaps the best way to think about DX12 is that the graphics API has been overhauled to be more efficient than ever before, allowing developers to extract greater performance from existing and upcoming hardware. Closer to the metal, so to speak.

The new DirectX's most-talked-about innovation is the introduction of low-level programming APIs in Direct3D, the graphics interface and most commonly used component of DirectX.

Using key additions such as draw-call bundles and descriptor tables, Direct3D 12 is designed as a closer match for today's hardware components, resulting in reduced driver overhead and far greater efficiency. And efficiency is without a doubt the key word, as the API's lower level of abstraction from the PC's instruction-set architecture means that upcoming games built using DirectX 12 technology should, in theory, decrease CPU utilisation and improve multi-threaded scaling.

One of the most noteworthy improvements over Direct3D 11 is the way in which commands are sent from the CPU to the GPU. Historically, these have been issued one by one and processed sequentially, but DirectX 12 is able to bundle commands together as a command list, allowing for multiple commands to be processed in one go. Taking this a step further, 'bundles' have also been introduced as a means of repurposing command lists for repeated use..

This efficient philosophy runs deep throughout DX12. Pipeline state objects (PSOs) are incorporated as a means to minimise draw-call overhead and streamline command execution, and in a similar vein descriptor heaps are now available to allow for bindless operations that ultimately increase the number of resources available to shaders.

How about performance?

Getting away from the nuts and bolts, the key question being asked by gamers is: how will DirectX 12 impact in-game performance? Well, the jury is out on that one and we won't have definitive answers until the first DX12 games appear later in 2015, but early indications from some of the industry's biggest names have certainly whet the appetite.

Knowing that DX12 benefits from improved CPU utilisation, reduced GPU overhead and better multi-threaded scaling, we can expect a combination of power savings and increased performance. Putting the theory to the test, Intel created a real-time demo rendering 50,000 unique asteroids in a choice of DX11 and DX12 modes.

DirectX 12 GPU Power

When switching to the latter at a locked framerate, CPU power consumption was reduced by more than 50 per cent. That may not resonate with performance enthusiasts, but remember, lower power consumption means less heat, and less heat means CPUs and GPUs and can run at higher frequencies. Highlighting that fact, Intel was able to remove the framerate cap and, using the same underlying hardware, average FPS jumped from 19 on DX11 to 33 on DX12.

Raja Koduri, chief of AMD's Radeon Technologies Group, famously proclaimed that DX12 is equivalent to "getting four generations of hardware ahead," and though we've yet to see any real-world games, DX12 hype has already reached fever pitch.

And it's easy to see why. The API's drive toward efficiency is promising to better utilise CPU and GPU hardware, resulting in improved performance and lower power consumption, which in turn suggests greater battery life on mobile devices such as laptops and smartphones.

Another tasty prospect is 'Multiadapter,' a DX12 feature that allows developers to harness the power of two or more disparate GPUs to maximise performance. Theories of Nvidia GeForce and AMD Radeon graphics cards being teamed together are already being bandied about, but the more likely implementation is that of a discrete GPU working in partnership with an integrated GPU.

DirectX 12 Adapter

The majority of modern-day consumer CPUs are equipped with an integrated graphics processor, and yet when a discrete GPU is added to the equation, the IGP is typically made redundant. That's a terrible waste of processing power, and DX12 plans to prevent the IGP's exclusion by giving developers the ability to split rendering workloads across multiple GPUs.

Earlier this year, Epic Games showcased the potential of DX12's Multiadapter technology by demonstrating an Intel IGP and Nvidia GPU working in tandem to increase performance while rendering using the Unreal Engine 4. Creating separable workloads will of course be dependant on developer implementation, however the concept holds real promise with workloads such as postprocessing, and the results are clear to see: tapping into the otherwise-redundant IGP resulted in an FPS increase of around 10 per cent.

Summary

There's no doubt about it, DirectX 12 has the ability to revolutionise PC gaming as we know it, and here's the best bit: the new API is already supported by many existing GPUs from AMD, Intel and Nvidia.

DX12 is one of the best reasons to be excited about PC gaming, but while there's plenty of optimism, you, the end users, may want to adopt a more cautionary approach. The first wave of DX12 games are expected to land during the 2015 holiday season, and it's now over to the developers to harness these new weapons in creating ground-breaking games that are better looking, smoother and more efficient than ever before.