Microsoft Announces DirectX 11.2
A new update to DirectX feature set comes this year in form of DirectX 11.2, only to Windows 8.1 and Xbox One. The new additions are focused on efficiency and will allow better performance on the same hardware. Tiled Textures should be a hardware implementation of megatextures, which hopefully works better than what we have seen in RAGE. Lower latency should also improve the responsiveness in games. For the scenarios when reducing the resolution is desired, there is an ability to render 3D graphics and 2D overlay at different resolutions in hardware.
While the new features are very nice, the adoption of DX11.2 will be an important factor. On the hardware side things are looking quite good, as current GPUs with DX11.1 support (Nvidia GTX600, Radeon HD7000 and higher) will support DX11.2. The limitation to Win 8 (8.1 is a free update) is more problematic, as it is not very popular with gamers at the moment. The use of it in Xbox One, however, may be a good reason for most multiplatform developers to include it in their games.
NeoGAF user Lukas Traves has posted a comment with some more details on DX 11.2
There are also 5 new features in the api:
- Hardware overlay support (Similar to Durango's display panes, allows the developer to render the 3d graphics of the app at lower than native resolution, while keeping 2d ui at native res composing the final frame at a native resolution). Developers can also target a framerate and let the gpu dynamically scales the 3d graphics to try to meet that criteria (basically dynamic resolution changing is now fully supported by the api)
- HSL shader linking. W8.1 store apps can compile shaders in runtime, so the behavior of the shaders can be dynamic. However compiling is slow, so this feature allows you to pre-compile shaders at build time and link them at runtime, this way you can create new dynamic shaders without the performance hit. Dynamics shaders could be used for instance for a game to test the performance of the device it's going to run and modify to a simpler or a more complex version of the shader to maintain the best visual quality while maintaining the target framerate. It's also useful for building shader library dlls that can be shared among different projects and each app decides how to build their shaders from this library.
- Mappeable gpu buffers. This is great for compute scenarios with collaboration of the cpu and gpu. They provide api support for the cpu directly access the gpu memory without needing to copy the buffer back and forth. For 11.2 it's going to be onlye for compute so it's only buffers, not graphical objects.
- Low latency present API. Basically api support for the system to tell the app when it's the best time to start rendering and showing the content on screen, to allow the shortest latency possible. By using this api they were able to reduce latency from 3 frames (at 60fps) to less than 1.
- Tiled Resources which is api support for hardware accelerated virtual texturing. It's basically hardware support for mega texturing.