Raising the Bar with Direct3D

Raising the Bar with Direct3D

  • Comments 7
  • Likes

As we’re just completing the final steps of delivering Windows 8.1 and Xbox One to customers, we thought this would be a good time to take a moment to recap the advances we’ve made in Direct3D for game developers and share a bit of insight into the ongoing work that we’re doing for improvement and innovation in Direct3D.

For over 15 years, Direct3D has served as an essential ingredient to deliver cutting-edge 3D graphics in games. During this time, Direct3D has dramatically evolved as a result of deep investments we’ve made in development across our device platforms (Windows, Xbox, and Windows Phone) and continued partnership with industry-leading GPU hardware vendors and game developers. We are very excited that with the launch of Xbox One, we can now bring the latest generation of Direct3D 11 to console. The Xbox One graphics API is “Direct3D 11.x” and the Xbox One hardware provides a superset of Direct3D 11.2 functionality. Other graphics APIs such as OpenGL and AMD’s Mantle are not available on Xbox One.

Developers creating content for the Xbox One are able to use the same programing constructs across Windows and Xbox, and benefit from all the improvements that have been introduced on Windows. With Xbox One we have also made significant enhancements to the implementation of Direct3D 11, especially in the area of runtime overhead. The result is a very streamlined, “close to metal” level of runtime performance. In conjunction with the third generation PIX performance tool for Xbox One, developers can use Direct3D 11 to unlock the full performance potential of the console.

Meanwhile we have also been hard at work delivering a number of advances to Direct3D 11 on Windows, including:

  • The introduction of Tiled Resources, a new hardware feature for efficiently managing enormous volumes of data on the GPU more efficiently, enabling unprecedented levels of detail as well as more immersive open-world gameplay without making gamers sit through annoying “level loads”.
  • Excellent tools in Visual Studio for analyzing and debugging code built using Direct3D 11
  • Improved performance when accessing memory shared between CPU and GPU when executing compute workloads.
  • Programming model improvements, including advances in HLSL that enables developers to write more manageable shader code, and reduce runtime cycles spent on shader compilation.
  • Improved performance and efficiency on mobile form factors by reducing presentation overhead and enabling hardware accelerated overlays & scalers. This enables better game performance on high-resolution displays, and improved rendering latency.

While some of these advances were developed in an effort to improve our own software, the most impactful innovations require very close collaboration with hardware and software partners to be successful.

Tiled Resources is a great example of this kind of industry collaboration. The work to deliver Tiled Resources started in early 2009 through discussions about what was next for GPU designs with key graphics hardware partners. These conversations were fueled by our understanding of the game experience that developers were creating with Direct3D on Windows PCs and Xbox 360. This early collaboration drove a degree of consistency in GPU hardware implementations, which in turn enabled Microsoft to create a single API surface area for developers to use across hardware from multiple vendors. In the process of building and shipping Windows 8.1, we worked in very a tight feedback loop with each of our hardware partners for driver development, along with internal and external software developers to deliver the feature. As a result, we were able to demonstrate tiled resources in action during the BUILD 2013 Keynote running on off-the-shelf GPUs.

Looking ahead, we’re stoked about the releases of Xbox One and Windows 8.1! The process that got us to this point will continue to drive our future releases. We are getting excellent feedback from the industry around the areas that are most important for future API development, and that feedback is directly informing our Direct3D development direction. We’re continually innovating in areas of performance, functionality and debug and performance tooling for Xbox One. We’re also working with our ISV and IHV partners on future efforts, including bringing the lightweight runtime and tooling capabilities of the Xbox One Direct3D implementation to Windows, and identifying the next generation of advanced 3D graphics technologies.

Everything we learn from these activities will continue to flow into future iterations of Direct3D for Windows, Xbox, and Windows Phone.

For game developers, our investment in a consistent Direct3D API across platforms means two things:

1. Using Direct3D 11 for game development is your first step. The recordings of our presentations at BUILD on Channel 9 are a great way to get started:

2. Your investments Direct3D 11 carry forward across of Microsoft’s devices. Direct3D is the starting point for games on Windows PC’s and Tablets, Windows Phone, or Xbox One.

We’re thrilled to see the line-up of games that are being built on Direct3D this for year, and excited to continue our partnerships with developers and IHVs on raising the bar for game experiences across these devices.

Kam VedBrat
Group Program Manager for Windows Graphics

You must be logged in to comment. Sign in or Join Now
  • Direct X 11.1 was a flop I have no idea what 11.2 future will hold but probably also a flop.

    I understand that you don’t want to back port WDDM 1.3 or 1.2. But making 11.x windows 8.x exclusive is really horrible for adoption.

    Right now Direct X 11.0 / WDDM 1.1 still not even standard. It will still be at least a year before Direct X 11.0 is a minimum requirement.

    At this rate 11.2 will not become a minimum requirement before 2022. If worked on windows 7+ it would get used right now but it does not bring enough to the table to bother with until the distant future.

  • to reggi25: you say DirectX is Windows/Xbox only. But the same can be true for OpenGL, which is Unix/PS only (XP will retire next year). Although WP and RT have small market share at this time, I see they will rise as they become mature and windows mobile ecosystem grows. So you've got to make a choice. If you are confident in MS, make a DirectX version of your game. Otherwise, do not bother.

  • reggi25
    0 Posts

    The main issue I see with DirectX is that it is Windows only.

    A few years back, only supporting Windows wasn't an issue, but now OSX has a market share which can't be neglected. When writing a game using OpenGL, I can support all major (and not so major) platforms with almost no additional investment. Also there is still a large number of Windows-XP users, which get the latest OpenGL improvements by driver vendors, but are still stuck to the years-old DirectX-9.

    The same is true for mobile platforms.

    When programming DirectX for mobile platforms, I can support Windows-Phone and Windows RT (5-10% market share). With OpenGL-ES I can support 90-95% of the tablet/smartphone market however.

  • QuB
    0 Posts

    Correct me if I'm wrong. You're proud you're not supporting OpenGL?

  • abm
    268 Posts

    Thanks for these enhancement. But..

    Why not delivering WebGL 1.0 in IE 11 as part of this progress. Currently, WebGL v 0.9 is supported in IE11 while other vendors (Mozilla, Opera, Google, Apple)  are providing v1.0 and some are even scheduling for 1.1... Would we have to wait for IE12 next year when others would have already raise bar?

    We can't even run Nokia here 3d maps without having other browsers installed in Win 8.1... connect.microsoft.com/.../nokia-here-maps-reporting-webgl-issues

    Among all other groups at Microsoft, why do Internet Explorer teams love to be underdog in every aspect and being late to party every time? Imvho, 90% of bad/negative press Microsoft got in past 20 years is due to IE teams.. and I guess if VCteam, VSteam or Windows teams swallow IE teams, all the existing web standards would be incorporated in no time, the product will be effectively improved (in real .. not the marketing way.. without years of delay for small bug fixes) and the product will shine like champs!

    To wit, just follow the behavior of their response on Connect, how much effort we need to exert to convince them the reported issue is a REAL deal breaker and their persistence of closing 90+% feedback "by design" or "postponed". Even 10 yrs old bugs are there, and yet no one is addressing them. Must be a minor bug, is it? Even If its a minor bug, should it be immortal and stay there forever? What kind of SE methodology states that? Please enlighten.

    What is the purpose of new automatic update feature in IE10, if we have to wait for newer version of Windows to deliver any kind of new feature (CSS, HTML, SVG, WebGL, JS and in some far away future ..perhaps WebRTC..) !!

    Please ask the sleeping bosses to take a survey from people who ever gave feedback to IE team and their experience with them. Then make the changes accordingly, so the entire mankind get the best web browser once forever.

  • Thotaz
    0 Posts

    Are there any chance that Windows 8 will get these improvements? I would upgrade to windows 8.1, but because of the changes made to the mouse in 8.1 I can't play any games that doesn't support raw input because they just don't feel right.

  • Hey, Kam,

    I'm glad that you're stoked.  I'm not as stoked, though, because I work on an application that runs on the extremely legacy platform-that-shall-not-be-named (Windows Desktop), and that uses the also extremely legacy framework-that-shall-not-be-named (WPF).  What is my path to DX 11?  When will I be given the ability that Metro/Modern app developers have been given to combine XAML/C++/DirectX/native code with the ability to get a pointer to the native DX back buffer and draw to it?