DirectX 12 to spare CPU, GPU resources
Microsoft updates its DirectX with improved API efficiency for its entire ecosystem, giving developers more control over memory, state and task synchronisation. While Microsoft didn't introduce particular hardware features, several chipmakers expressed their support for the recent release, which will be commercially available only in late 2015.
Microsoft's Anuj Gosalia, development manager of DirectX, announced its DirectX 12 next-generation graphics applications programming interface (API) at the Game Developer Conference on Thursday.
Microsoft presented to an overflowing crowd of game developers and had representatives of AMD, Intel, Nvidia, and Qualcomm on stage voicing support for the hotly anticipated API.
Some of those developers must have gone away disappointed as the new Microsoft graphics standard focused mostly on improving code efficiency running on existing GPU designs and the company did not reveal any significant visual quality innovation. That said, the improvements in API efficiency will allow Microsoft to offer its latest graphics capability on PCs, tablets, Xbox One, and even Windows Phone.
While many existing GPUs should be able to support DirectX 12, Microsoft expects that DirectX 12 content will not be available until the holiday season of 2015. Microsoft is taking submissions for the DirectX 12 early access program from developers; a preview release will be available later this year.
Specifically, Microsoft announced changes to the Direct3D graphics part of the Direct X API bundle. The company also plans additional technology previews at a later date. The primary goal of DirectX 12 is to increase the use of the CPU and GPU resources in the system. The new API will be better at offloading certain tasks to the GPU where the parallelism will increase performance and reducing CPU overhead.
Each silicon vendor went on stage to support the new API. AMD's support was a given, considering that it built the GPUs in the Xbox One, one of Microsoft's key gaming platforms. Nvidia announced it would support DirectX 12 in all its DirectX 11 GPUs, including Fermi, Kepler, and Maxwell GPUs. Intel said it will support DirectX 12 in its Haswell processors with Iris Graphics that it is shipping.
For all these GPUs, we will have to wait to see how completely each will support the DirectX API as Microsoft releases more details and any additional rendering technology. It's also possible for a graphics unit to support the runtime of the DirectX 12 API, but with an older feature level (e.g., DX12_FL9.3 would be DirectX 9 level hardware features running under the DirectX 12 runtime).
While Qualcomm's representative expressed support for DirectX 12, the company was not able to commit at this time to specific Snapdragon processors that will support it. In an email exchange, a Qualcomm representative explained that Qualcomm and Microsoft are still planning the details of when and how Snapdragon and Windows Phone will best intersect with DX12. Qualcomm is the sole SoC processor vendor Microsoft qualified for Windows Phone.
DirectX 12 will be especially helpful in mobile as the increased driver efficiency will save processor power by reducing the power required for each draw call. The improved efficiency will also allow better graphics performance for phones and tablets. The unified runtime driver will make it easier for content creators to port games from PCs and the XBox One to phones and tablets.
AMD has also been attempting to address the inefficiencies of existing graphics APIs by building its own API, called Mantle, which it announced in September of 2013. The day before the Microsoft announcement, AMD added a new game engine partner for Mantle—Crytek.
The technical differences between DirectX and Mantle are not clear yet, but like Mantle, DirectX 12 will give developers more control over memory, state, and task synchronisation. Mantle is available now and is already being used in published games, while DirectX 12 content is still 18 months away.
AMD's Mantle only runs on AMD Radeon GPUs in PCs, limiting its impact on the market. But Mantle may have pushed Microsoft to make the changes in DirectX 12 as there were obviously bottlenecks in DirectX 11.
Microsoft's DirectX 12 appears to be a serious attempt to fix some of the inefficiencies in the API by giving developers more control over the hardware and better use the parallelism of the GPU and many-core CPUs. With DirectX 12, Microsoft will be able to extract more performance out of the hardware already in the Xbox One, which is an important consideration in its competition with Sony's PlayStation 4.
The improved efficiency will also allow Microsoft to have one graphics API that address the full range of its ecosystem from consoles to smartphones, which will smooth developer porting between platforms. The only disappointments in the announcement were that no new hardware features were revealed at this time and we won't see the benefits of DirectX 12 until late next year.
|Related Articles||Editor's Choice|