If geeks love it, we’re on it

What is DirectX 11?

What is DirectX 11?

dx11Windows 7 is less than forty days away from its retail debut, and it carries the new DirectX 11 specification in tow. AMD will soon fire the first shots with a suite of cards, but what are you really going to get? Today we’ll be talking about the changes DirectX 11 brings to the table and what they mean for you.

DirectX evolved

DirectX 11 is the next iteration of the Microsoft DirectX architecture. DirectX is a collection of common application programming interfaces, or APIs, that standardize the way code for a GPU is written and executed. As a result of DirectX, and its “competitor” OpenGL, users across the globe can run any game on any GPU from any company. Whether or not that game runs well depends on the hardware’s horsepower, but DirectX has helped to avoid a standards war not unlike the one that divided Blu-ray from HD-DVD.

As the eleventh major entry into the DirectX annals it’s not quite as drastic as DirectX 10 that came before it. While DirectX 10 was all about dramatic improvements in lighting and texturing, DX11 is a more subtle movement that emphasizes GPU-accelerated apps and refined scene detail.

DirectX accomplishes its more transparent emphasis in three distinct ways.

Hardware Tesselation

The drive to produce increasingly detailed scenery in PC gaming has long been a motivator in the industry. Newer games beget faster GPUs, and faster GPUs beget newer games. But the quest for detail has a price, and that price is an ever-escalating demand for memory and storage.

Crysis is perhaps the most present example of that price, and it is hefty indeed. Years after its release, Crysis remains the gold standard for graphical detail and it continues to butcher all but the meatiest hardware with higher detail levels.

The solution to problems like this lies in hardware tessellation, which allows for the procedural generation of more advanced scenes from a set of sparse instructions.

Rendering with hardware tessellation begins when a patch–a triangle or quad–is passed to an engine called the hull shader. The hull shader accepts the patch and prepares instructions for the tessellator, which then generates the required geometry to make a fully detailed model. Once tessellation is finished, the newly complex model is passed along to geometry shaders that provide additional smoothing for realism. From there, the complete model receives its textures, its lighting, and arrives on your monitor as a complete 3D scene.

Hardware tessellation is a big deal because it is a completely scalable system. DirectX 11 games need only provide one set of tessellation instructions, and the GPU will determine how much complexity the scene can handle without degrading the user’s experience. This fine, granular level of control will lead to more detailed scenes for all levels of hardware.

Compute shaders

Broadly speaking, GPUs are becoming more “CPU-like” than ever. While yesteryear’s GPUs could only perform operations on graphics, today’s GPUs offer the precise arithmetic and fully programmable sections necessary to run real programs. The modern GPU is more than just pixels and polygons!

The realization of the General Purpose GPU, or GPGPU, has made waves in the industry. Between NVIDIA’s CUDA language and ATI’s Stream Technology, both major players in the graphics games have raced to accelerate programs with the GPU. Unfortunately, that race is happening across a big divide: CUDA and Stream code is incompatible.

Left to their own devices, we know these fierce competitors would fight until that gulf is impossibly large and permanent. While initiatives like OpenCL have had moderate success at bridging the gap with a common language, DirectX 11 is positively pulling these enemies into an embrace.

DirectX 11’s DirectCompute API is a standardized way to perform GPGPU acceleration, and every DirectX 11 GPU must run it. Microsoft’s decision to provide a common interface is finally the beginning of the “write once, run anywhere” era we need. DirectX 11 GPUs will need just one body of code to perform stream processing tasks like physics and video encoding, and it won’t matter what GPU that code runs on.

Multithreaded rendering

One of the big problems with the increasing number of CPU cores is that it becomes increasingly difficult to harness all of them for actual work. The issue is largely owed to the fundamental nature of a CPU which accepts blocks of inputs called threads. There are only so many GPGPU threads a single program can create–video, physics and AI–and it’s wildly difficult to break those threads into smaller pieces.

DirectX 11 seeks to crack the whip on the globe’s growing glut of idle CPU cores by sending them off to crunch secondary video threads. The so-called deferred context of these secondary threads mean they can be dynamically inserted into the rendering pipeline when the GPU calls for it. This has the obvious advantage of parallelizing rendering work.

Parallel rendering is the “more work at the same time” answer to improving performance, but don’t expect miracles. Video cards are serial beasts, which means the GPU must use mutex (mutual exclusion) to sequence the threads, lest they step all over one another.

Multithreaded rendering may not sound like much, but lazy cores need more work, and it’s free performance for the rest of us.

When is it coming?

As we mentioned, AMD is preparing to launch the world’s first DirectX 11 GPUs. The new product lineup is expected to consist of five GPUs that target the complete range of budgets and performance expectations.

Information subject to change with product launch.

Information subject to change with product launch.

AMD’s DirectX 11 parts aren’t far off, either. We have good reason to believe that AMD will soon be unveiling Evergreen hardware on the deck of the USS Hornet parked in sunny San Francisco bay.

NVIDIA fans, meanwhile, may have considerably longer to wait. If the rumors are true, NVIDIA’s DirectX 11-ready GT300 series won’t dribble into retail until November, and may not hit volume until the beginning of the New Year.

Aside from whatever happens in the GPU space, know that it all depends on the launch of Windows 7, and we know that date for sure: October 22. Be there.

Comments

  1. mirage
    mirage Robert, you lately became my favorite technical journalist. Right topic at the right time written very well. Way to go!
  2. GooD
    GooD Nice article again,

    You show us the Thraxipedia at is best :)

    Keep the articles coming, its nice to read you everytime !

    More on the topic : the real problem with DIRECTX11 is that every game that will be developped to be also on console wont use DIRECTX11, so except "exclusive PC" games, we wont find much games to support it until the next generation of console comes out. (The actual generation cant use anything more than directX9, both ps3 and xbox360)

    With the PS3 life-span to last up to 10 year (dunno for xbox), there's still much wait to do. That's sad, because directX11 looks AMASING :(
  3. lordbean
    lordbean Wait. Does this mean that DirectX 10.1 cards will be innately directx11-compatible?

    My radeon 4850s may suddenly be more appealing than my GTX 285 if so.
  4. Thrax
    Thrax The direction GPUs took with DirectX 10.x inspired DX11, but you will need DirectX 11 hardware.
  5. Cliff_Forster
    Cliff_Forster The Vista adoption rate hurt DX10 acceptance and progress. 11 will hit the ground running with an existing Vista install base. The fact that Windows 7 is a solid OS is not going to hurt either. If you are running XP, kiss it goodbye, the reason to upgrade is upon you.
  6. GooD
    GooD
    The Vista adoption rate hurt DX10 acceptance and progress. 11 will hit the ground running with an existing Vista install base. The fact that Windows 7 is a solid OS is not going to hurt either. If you are running XP, kiss it goodbye, the reason to upgrade is upon you.

    Amen ! :thumbup

    But still, i think console are going to hurt DX11 game developpement, but hope i am wrong :P
  7. Matt GooD,

    You say that 'More on the topic : the real problem with DIRECTX11 is that every game that will be developped to be also on console wont use DIRECTX11'

    Dirt 2, when released on PC will be DX11. While I do understand your concern, I think that many companies will take that extra step to include DX11 in their PC games.
  8. GooD
    GooD Then computer gaming experience will become more and more visually better than console gaming :)
  9. alex there wont be any sort of dx11 games before the end of 2011. rest assured . and that dirt 2 is going to take advantage of dx 11 is nothing more than a hype.
  10. GnomeQueen
    GnomeQueen Great article, Robert! I understand things now.
  11. name its kinda pointless though untill developers start coding their games for multi core processors.
    playing L4D on either a 3Ghz dual core or a intell I7 920 and i got the exact same results.
    this is exactly why people say PC gaming is dying, because developers have gone cheap and port games from consoles to the PC and the pc versions have low recommendations.
    the whole point of PC gaming was to do what consoles could not, there not doing that now so why are they still here.
    i understand why but developers need to produce higher quality games on the PC, like fear 2 i was expecting the PC version to blow the console versions out of the water.
    it did not, i was disappointed very disappointed.
    theres new CPUs out every few months theres new GPUs out every few months but what for?
    is their 1 game that takes advantage of the extra power?
    nope.
    i built a new PC with a I7920 CPU asus ROG motherboard 8GB DDR3 ram with 1 nvidia 9800GTX+
    and i can play any game i want on max settings, crysis? no problems.
    theres like what 4 cards above the 9800GTX but what for? if a 9800GTX is powerful enough why spend a hundred or more on a more powerful card?
    its not going to give you any advantages so whats the point?
  12. Back From Heaven Very nice article. DX11 shall pave the way for great looking games that low to medium hardware users can enjoy without having horrific frame rates.

    Also Windows 7 is AMAZING! I'm currently running Windows 7 Ultimate RC and I love it to no end. So DX11 and Windows 7 should provide, fingers crossed, a boost in performance for every gamer, extreme or laid back.

    Hope to see final screenshots of DX11 soon :D
  13. chrisWhite
    chrisWhite Agreed, great job condensing the technology to a level we can all understand!
  14. Axios buying a DirectX 11 Enabled GPU is a better option for those who are willing to build a new system than for those who already own a good one coz it won't bring a difference in terms of quality (at least for the next year or so) and even if it did, it won't be "huge"... when you play, you care about playing not about some technical features...

    so, I see no point upgrading (if you have a good GPU) + the prices will fall down next year especially when nVIDIA's GT300 GPUs will hit the market...

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!