A Look At Windows 8's DX11.1 And What It Gives Us Gamers

Jan 09, 2013 Written by:ROG Article

As you certainly know, DX11 was upon us starting with the AMD Radeon HD 5000 chips and the NVIDIA GeForce 400's, aka Fermi. But what we seem to have forgotten slightly is that with the arrival of Windows 8, the venerable API (application programming interface) that's been helping drive our games since the mid 1990's has been upgraded to DX11.1. That .1 may not sound like much, but it has the potential to really add something to proceedings. It's supported by the drivers and architecture of AMD Radeon HD 7000 GPUs and NVIDIA GeForce 600 variants, but this time it's mostly exclusive to Windows 8: if you're on any other Windows version, you can still update to DX11.1, but not with full functionality.

So, what are some of the features DX11.1 delivers? Mind you, I don't pretend to understand much of the technical side of things, but the benefit to us gamers is there.

Target-independent rasterization 

This is apparently designed for non-gaming applications, enabling smoother-looking Windows 8 apps, and especially the start screen itself. These newly revamped raster operations do the anti-aliasing in 2D applications, which until now was mostly left to the CPU, hence leaving less system resources available. Well, DX11.1 has the GPU kindly doing this, so everything from PowerPoint to the web should start looking that little bit sharper and smoother, as the AA stage is handled by the GPU, which is much more suited to this than your CPU.

Native stereo 3D support

Until now, we needed NVIDIA 3D Vision or AMD HD3D to run 3D games on PC, but Microsoft has included better native support for 3D in DX11.1 as part of the Windows 8 operating system. This doesn't mean the technologies from the GPU makers have become redundant, just that they will work better due to streamlined resource consumption. Plus compatibility should be improved, so expect more games to start offering optional 3D.

Video playback

This part is interesting. DX11.1 is a more unified API, designed to make game development easier yet. You know how in recent years in-game graphics have started looking better than cutscene graphics? Well, apparently that's because in most cases while the game engine may be rendering in DX11, to conserve resources cutscenes are in DX9. That helps lower system requirements, but at the same time causes an API mix that is not ideal for programmers and designers. DX11.1 offers hardware acceleration of video content within games, which applies to what looks like in-engine graphics but is actually pre-rendered. This feature is meant to help programmers avoid mixing API generations, which of course streamlines the development process. Eventually, it will also help provide better looking cutscenes, as some of the stuff we have now is noticeably off compared to actual game graphics.  This is a direct result of full motion video cutscenes going out of style in favor of so-called in-engine scenes, but there has been a trade off. One DX11.1 can help compensate for.

DirectFlip

Nominally a feature of DX11, this has been reinforced for DX11.1 As the name suggests, it helps GPUs switch rendering modes more smoothly, by that lowering the likelihood of system crashes and freezing. It applies to full-screen usage, such as HD movies and games. Because modern operating systems such as Windows 8 may have on-screen notifications turned on and of course have 2D apps in the background (which are rendering differently from the main full-screen application being run), the GPU is often forced to tackle two rendering paths at the same time. That's a recipe for problems if not optimized, and DX11.1 with DirectFlip (or WDDM 1.2 - Windows Display Driver Model 1.2) offers smoother transition between rendering modes, and in many cases eliminates them altogether. It also offers sleeker exit from full-screen operations to desktop/windowed apps, which are now quicker and have less artifacting. We all know the flicker and random colored shapes that show up occasionally when you go out of a game back to the desktop, or when booting up and exiting the POST stage and entering the OS. Well, I can personally attest that DX11.1 has gotten rid of those with my HD 7950. In fact, I barely get a chance to see my motherboard's ASUS splash screen, which lasts all of a half second or so now.

GPU fault tolerance 

Because DX11.1 reduces the need for GPUs to change rendering modes, it naturally cuts down the risk of hanging/freezing, as mentioned above. The new API version also includes GPU preemption, which helps with multitasking. You can see this sort of even in games like Far Cry 3, which support GPU buffering and multi-frame vsync, something we didn't see much of in the past. From what I gather, this allows applications to "reserve" or predict GPU resource allocation, and is done closer to hardware level with DX11.1. With GPU preemption, the app queue is more expedient, and thus there are less "awkward pauses" as apps try to communicate with the GPU and the other way around. Pauses are never good in computing, as they are areas of vulnerability and thus prone to crashes. In other words, DX11.1-compatible GPUs are more "app aware" and savvy about talking to multiple programs at once. More efficient resource use, less waits, and less opportunities for things to go the way of the BSOD!

Shader tracing

Please don't ask me to explain this one in detail - you'll need to grab your local friendly programmer to get the full lowdown on this, but from what I understand DX11.1 tracks a program's performance in reference to Shader Model operations, and has multiple paths to doing this more efficiently than before. Glitches and weak points in code can be more readily pinpointed, hopefully leading to fewer games that need a day one patch moving forward!

This is just the tip of the iceberg, so to speak. You can read the official Microsoft site for DX11.1, and naturally both AMD and NVIDIA have materials on it.

As of this writing, only a couple of game titles specifically support DX11.1, but don't forget DX11 is still fresh in terms of game development, with many major titles released in DX10 until very recently. While DX11.1 may not be a generational leap over Windows 7's DX11, it sounds to me like we can get a performance boost with the newer API, so I look forward to games that make use of it.

What do you think of the features of DX11 and Windows 8, and how will they affect your gaming experience? Let us know in the forums.

POST COVER IMAGE COPYRIGHT UBISOFT