2014-05-22

You’d be forgiven for thinking that Microsoft had sidelined further development on DirectX, the API group that is integral to running multimedia content on its Windows operating system. The last major release, DirectX 11, appeared in 2009 and in the years since has received only a few minor updates.

This is all the more surprising when you consider that of the APIs that comprise DirectX (Direct 3D, Direct 2D, DirectSound, Direct Computer and more) , one, Direct 3D relates primarily to facilitating the top notch visual fidelity characterizing many modern videogames.

Although Microsoft's successes in the gaming industry are primarily focused on its line of consoles, Windows is still the OS of choice for PC gamers. It enjoys this status thanks to an enormous back catalogue of titles, the relative freedom around customizing and tinkering with games and, of course, the fact that Windows, through simply being so popular, is also the easiest OS to create games for. This is thanks, in large part, to the very same APIs.

If your head is spinning at this point because you're unsure what an API is, here's the quick version. The abbreviation stands for 'application programming interface', which is a type of program that facilitates interaction between different pieces of software.

So, for example, APIs might dictate how a grocery website exchanges information with its product and customer databases. DirectX does something similar, albeit on a more extensive scale, facilitating the use of a computer's hardware by other programs running in Windows.

DirectX began in the mid-1990s at around the same time that Microsoft was working to bring Windows 95 to market. A key issue, both within Microsoft and outside the corporation, concerned the programs that would be compatible with Windows 95. In particular, many believed that MS-DOS, the non-graphical user interface partially developed and published by the corporation,was a superior platform for gaming, as it allowed experienced programmers closer access to any computer's hardware. A modern graphical user interface on an operating system built around said UI would impede that. This was particularly true as Windows 95 was designed for ease of use by inexperienced users, which meant that Microsoft hid and protected parts of the system to prevent accidental misuse.

Microsoft's response to this challenge was to develop DirectX, which essentially built levels of abstraction on top of the standardized hardware usage model of the core operating system. This allowed developers to utilize more of the power of a computer's hardware within the Windows 95 operating system, and it made it easier to do so.

Adoption was a slow, uphill battle for Microsoft but over time the DirectX APIs have come to be integral to developing and running games on the Windows platform. A sizable part of this success can be attributed to the broad compatibility DirectX offered with an enormous range of hardware, reducing development challenges and customer headaches.

Microsoft's experience with DirectX and its broadening popularity in game development likely part-justified its foray into the console market. The first Xbox was initially known as the DirectXbox, and its bespoke OS was built around a customized DirectX API!



So What about DirectX 12?

At the 2014 Game Developers Conference (GDC), Microsoft unveiled the next major iteration. In many ways it's a return to similar questions that deviled the firm around the time of Windows 95 and the reasons developers preferred to code for MS-DOS. That is, unimpeded access to hardware is fundamentally more efficient, and this makes for the greatest potential performance from that hardware for the program using it. An advanced operating. system and a set of custom APIs that are built for a huge set of scenarios and eventualities, not to mention compatibility with the dizzying array of hardware on the market today, all represent additional overhead that reduces the total overall resources available for eking the best performance from a piece of hardware.

Nowhere is this more obvious than with the modern graphical processing unit (GPU). Modern GPUs are staggeringly powerful and are only becoming more so. Unfortunately, the rate of improvement with modern CPUs is not as steep, and at the end of the day even the most powerful GPU is ultimately beholden to the CPU.

It's called the 'central processing unit' for a reason and, like any busy rail hub or airport terminal, it can get choked up by too much traffic or poor crowd management, no matter how fast your trains or planes are.

Microsoft's approach with DirectX 12 is to reduce this overhead, using more sophisticated approaches to mulch-threaded processing to distribute workloads between cores and deploying clever programming innovations to reduce the overhead of the API itself.

If you read further about DirectX 12 elsewhere, you will almost certainly come across the phrase 'close-to-metal'. It's a cliche that I'll try to ensure I only use the once! There is truth in it, however: DirectX 12 is intended to allow the developers closer access to the full capabilities of gaming hardware, working at a lower code level than was previously feasible, there is a drawback to such an approach.



DirectX eventually proved so successful partly due to its high-level abstracted approach to hardware utilization allowing programmers to develop for wildly different hardware setups without having to factor in too many unique considerations for said setups. In other words DirectX did most of the heavy lifting with hardware compatibility, allowing them to focus elsewhere.

It seems likely that DirectX 12's most significant new capabilities, those significant gains in performance and efficiency, will be mostly enjoyed by wealthy studios with large teams and top-tier programmers. This doesn't come as much of a surprise: it's these large studios that are pushing the envelope furthest in terms of pure visual fidelity.

There's more to the DirectX 12 story, however, as this will be the first version of the API to be brought to mobile devices. Yes, DirectX 12 is being built for smartphones and tablets as well as desktop and laptop PCs, and it promises efficiency and performance gains across the board. It's even being written for the Xbox One, which is barely half a year old. So that's DirectX 12. Now what does it mean for you?

I’ve Bought a Fairly Powerful PC in the Last Two or Three Years
The odds are good that you'll be in a position to reap the benefits of DirectX 12-compatible games when they begin appearing in 2015.

So far only a small number of extant graphics cards have been announced as supporters of DirectX 12, which are listed in the boxout below.



If the graphics card in your system is on that list, then you'll be able to enjoy DirectX 12-enabled games and their improved performance next year.

You'll notice the most benefit if you own a graphics card that's substantially more powerful than your PC for example, if you upgraded an existing PC by adding a new GPU and additional RAM while leaving the existing CPU in place. Because DirectX 12 streamlines a lot of the grunt work your CPU will be doing, you'll find that your graphics card can be fed data more efficiently, and your performance should correspondingly improve.

My PC Is Getting A Little Long In the Tooth

As noted in the previous section, even an older PC could benefit from DirectX 12 if it's coupled with a newer graphics card. If you've recently upgraded your PC, check the boxout above to see if your device is listed. If it is, you're in luck!

If you're currently considering an upgrade and want to do so soon, then any option in the product lines listed could be a good future-proofing option. However, if you're able to wait a few months, it may be worth doing so. DirectX 12 was only very recently announced, and there may be further developments from Microsoft, Intel, Nvidia or particularly AMD (see the final section of this article for a few notes around its 'Mantle' technology).

My PC Is Running Windows Vista or Windows XP

Unfortunately, it's very unlikely that you'll be able to enjoy the benefits of DirectX 12. Although Microsoft has yet to confirm its specific platform support plans, it's improbable that an operating system as old as these two is going to receive active development support.

What's more surprising is that Microsoft has so far refused to confirm whether Windows 7 will be supported. However, given that Windows 7 remains its most popular operating system both among gamers and elsewhere - it seems highly probable that it will ultimately support it.

It's possible that it will wait until the 11th hour to confirm either way, hoping to drive up adoption of Windows 8 or even 'Windows 9', also rumored for next year.

I own a Windows Phone

Even if your Windows Phone device is very new, a year is a long time in smartphone terms. This is true of the pace of technological and design change, but also device ownership. Although 18 and 24 month contracts are now the general rule, it's likely to be about 15 months before users begin to see the first mobile DirectX 12-enabled games appearing on the marketplace. Qualcomm, the company that manufactures the Snapdragon processors for current Windows Phone devices and many other tablets and smartphones available today has already confirmed that it will support DirectX 12.

The biggest news for mobile devices is that DirectX 12 not only allows better performance to be squeezed out of mobile hardware, it also reduces battery drain through its efficiency gains. That's great news for both mobile owners and developers.

Support has yet to be announced for any specific hardware powering present-day Windows Phone devices, and it's likely that any devices currently on the marketplace are going to be left behind by the time the middle of next year rolls around.

However, if you're already invested in the Windows Phone ecosystem, then you're in a prime position to upgrade to a mightier device next year. You might even be able to impress your iOS and Android owning friends with the cross platform release you just picked up in the Windows Marketplace.

I own a Microsoft Surface Tablet
If you're not using Surface RT, then what you're running is essentially the complete Windows 8 (or 8.1), which means you're already capable of running modern PC games.

Unfortunately, present-day Surface tablets, whether they're older Surface RTs, either generation of Surface or Surface Pros, all utilize on board rather than dedicated GPUs (the GPU is essentially a reserved part of the CPU, rather than being a separate chipset).

At present, only dedicated GPUs have been confirmed to support DirectX 12 by Intel, Nvidia and Intel. This is not to rule out Microsoft and Intel or NVidia collaborating to extend DirectX 12 support to common mobile chipsets, however. In terms of raw power, it would make most sense to do this for the Surface Pro 2, which features an Intel HD 4400 chip and is the burliest of the Surface family.

That said, even the HD 4400 isn't up to playing the blockbuster games of 2014 - and if it can't do that today, then it's unlikely to be a prime candidate for support inclusion for 2015. What's more likely is that Microsoft and its hardware partners will be collaborating on bringing DirectX 12 to mobile devices with enough heft to compare with a mid-level desktop graphics card.

That may seem improbable, but we'd have said the same about playing games like XCOM: Enemy Unknown or Infinity Blade on tablets not that many years ago. And as for Windows Phone users, DirectX 12 ready Surface devices should enjoy superior performance and battery life.

I own an Xbox Console

If that console is an Xbox 360, then I'm afraid DirectX 12 is irrelevant. The new APIs are being introduced to the Xbox One only. It remains to be seen exactly what the tweaks to Xbox One will mean in practice, as consoles are already built around a low-overhead high-hardware exploitation paradigm. It's what allows consoles that are severely underpowered in comparison to contemporary PCs to achieve a degree of parity in performance and visuals.

The most likely result is a slight improvement in underlying efficiency that will initially go unnoticed by console owners. In time, however, it may allow developers to squeeze a few more drops from the One's hardware - and even a few drops can be a big deal in the closely fought struggles for supremacy in the living room.

What Does DirectX 12 Tell Us about Microsoft’s Strategy?
Although here we drift firmly into speculation, the direction Microsoft is pursuing with DirectX 12 does suggest a few cornerstones of its business strategy. That DirectX 12 is rolling out across multiple Microsoft platforms tells us that it remains committed to the vision of a cross-device ecosystem touted with Windows 8, in which users can enjoy some continuity between usage of their phone, tablet and traditional Pc. That this vision is being extended to gaming is just another part of the foundation that Microsoft is working to build.

Similarly, that Microsoft is actively working to woo industry leading developers and publishers with more efficient APIs suggests that it continues to see a significant future in gaming on Windows. As its Games for Windows live service is shutting down this year, and it has been five years since the last major DirectX version, it would have been easy to imagine Microsoft was giving up. Not so: it's prepared to stand its ground and defend one of the biggest reasons that people own Windows PCs.

This is significant in the face of movement from Valve, the company behind the biggest digital distribution retail platform in PC gaming to promote games on Linux and Mac OS platforms. It's perhaps no coincidence that this move from Valve was sparked in response to Microsoft's efforts to construct a closed ecosystem and marketplace with Windows 8 but that's another story. It's also clear that Microsoft continues to take its forays into the mobile marketplace very seriously. Although its efforts have in some Quarters been a running joke, it has nonetheless slowly expanded its share of the smartphone and tablet marketplace. Mobile computing is still the current big thing, and Microsoft is serious about asserting itself.

Finally, DirectX 12 suggests that Microsoft is well aware of and involved with what may turn out to be a paradigmatic shift in high-performance computing development. AMD announced a technology called Mantle toward the end of last year, which purports to do with AMD graphics cards what DirectX 12 will do for everything: reduce the level of abstraction, let developers code more closely to hardware and allow games to exploit more of a GPU's potential. It remains to be seen whether Mantle will continue, be abandoned or even be absorbed into a wider DirectX 12 project, but that both AMD and Microsoft are heading in the same direction is highly indicative of a much wider pattern.

A year is a long time in technology, and a lot may yet change. I for one am looking forward to seeing more details released by the DirectX team and its counterparts at Intel, AMD and NVidia.

Attached Images

     

Show more