Updated November 7, 2014 11:41 pm - 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:
- What’s new in Direct3D 11.2
- Massive Virtual Textures for Games: Direct3D Tiled Resources
- DirectX Graphics Debugging Tools
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.
Group Program Manager for Windows Graphics