Wednesday, July 8, 2009

Direct X 11


Found this article about DirectX 11 on http://blogs.amd.com and decided to share it with you...


As an admitted gaming technology geek, it’s hard not to get excited about the advancements in game technology. As many of you know, DirectX 11 is just around the corner, offering a dazzling array of new toys for game developers and people like me to play with. But as excited as the developer in me is about DirectX 11, I’m even more excited as a gamer, and you should be too. That’s because DirectX 11, in combination with new graphics hardware, and in some cases Windows 7, brings significant changes to the computing experience, changes that mean upcoming games and other applications are about to get a lot better. Let me explain how.

Microsoft, and those of us in the graphics business, have been openly talking about DirectX 11 for around a year now - in fact, to be honest we’ve been talking about it since even before Windows Vista shipped at the very end of 2006! It takes a long time to put together a new version of DirectX and there are often tough decisions about what to leave out while finalizing any one version. So we often agree that the parts which are being left out in the ‘current’ version will find their way into the next version.

So let’s take a good look at what’s in DirectX 11. I’m not going to go into painful technical detail; instead, I will try to look at the consequences of those technical details. One important note, unlike DirectX 10, DirectX 11 isn’t tied to Windows 7, so those of you sporting a Windows Vista system will get to reap the rewards as well.

There are three main areas of impact in DirectX 11:

1. A beast called the tessellator has been added which enables games developers to create smoother, less blocky and more organic looking objects in games. This is the change you’ll probably be most aware of. And it’ll show up when you look at the silhouettes of hills and mountains or the profiles of characters in games. Where artists previously had to trade off quality for performance, now artists will have the freedom to create naturalistic scenery. We’ve gotten used to seeing strangely blocky ears and noses on our opponents. But the new generation of games should allow those opponents to scare the heck out of us instead. The tessellator represents a natural next step in gaming hardware (in fact the Xbox 360 graphics chip that AMD designed already has a tessellator, and AMD graphics hardware has featured tessellator technology starting with the ATI RadeonTM HD 2000 series right up to the latest ATI RadeonTM HD 4000 series cards today).

2. Games programmers will also be given a radically new way to program for AMD graphics chips. The second new beast in the menagerie is the excitingly named “Compute Shader”. It allows games programmers to treat the GPU in a much less graphics-oriented way; indeed, they can almost treat it like a highly parallel CPU. [The buzzword for this is "GPGPU" , see http://blogs.amd.com/play/2008/11/05/the-gpgpu-chronicles/ for details.]

Up until DirectX 10.1 a graphics programmer always had to think in terms of triangles - but the compute shader changes that and allows the programmer a much freer expression of their thoughts. If you try to solve a problem of artificial intelligence or physics, you probably don’t think the problem through in terms of triangles. So the compute shader is a more natural way for the programmer to approach his or her task. On top of that it allows access to some of the features that would otherwise have been hidden away inside our present and future chips and for that reason it will often allow significantly more efficient implementations than heretofore (that means “higher frame rates” to you and me :-)).

3. DirectX has been sliced and diced and the internals redesigned to ensure that it is much more efficient at using the horsepower present in multiple CPU cores. This will be a huge win on chips like our AMD PhenomTM II quad and triple core processors [http://www.amd.com/gb-uk/Processors/ProductInformation/0,,30_118_15331_15332,00.html] and it will provide the opportunity for both higher frame rates and games which are more realistic, because they contain dramatically more detail.

There are numerous other, less important changes aimed to make the games programmer’s tasks easier. Some so small that you’d have to be a games programmer to care, some (like improved texture compression) are big enough to help out significantly with performance in corner cases.

Quite often you get to hear rather bland but optimistic statements about the future versions of DirectX. “It’ll be faster and better” - but you don’t get to hear much in the way of substantial justification.

This time around I hope it’s abundantly clear - I predict that:

  • We’ll see higher frame rates because the way DirectX 11 uses CPUs will be more efficient.
  • We’ll see higher frame rates because games developers will be able to use our GPUs more like CPUs.
  • We’ll see smoother, more realistic characters and more realistic terrain as we move away from blocky polygonal representations to the kind that are used in movies.
  • And a side-benefit, that will help PC gaming generally, is that the new version is easier to use, so it will help to keep game development costs down.

On top of that there’s something worth mentioning here about the evolution of computer graphics. Every generation of DirectX has been designed to be an improvement upon the previous generation. We always make a point of including all the old functionality (so that you can run any of your existing games). This time is no exception; the nearest thing to DirectX11 is DirectX10.1. And it won’t come as a surprise to anyone that I can’t resist mentioning that this means that owners of ATI RadeonTM HD 4000 series graphics have a distinct advantage, since AMD is the only major supplier of graphics chips that supports DirectX 10.1 http://ati.amd.com/products/Radeonhd4800/index.html . DirectX 10.1 is the closest you can get to DirectX 11 until Windows 7 ships.

When it does ship though, get ready for a significantly improved gaming experience thanks to the combination of DirectX 11 features enabled by phenomenal new DirectX 11 hardware from AMD.


No comments: