Microsoft touts performance improvements for existing hardware in DirectX 12

DirectX logoIn an early slide at his GDC presentation today, Microsoft Graphics Development Manager Anuj Gosalia presented a timeline for DirectX development dating back to 1995. On the 2014 line, the timeline asked the audience a rhetorical question: "This is where we're supposed to die?"

DirectX is far from dead, though. As Microsoft teased earlier this month and described in more detail today, DirectX 12 will be rolling out to developers with a preview release later this year, in time to target development of DirectX 12-powered games for the 2015 holiday season. Developers who simply can't wait can talk to Microsoft about getting early access even sooner.

In his presentation, Gosalia highlighted the divergence in power increases between CPUs and GPUs in recent years. While GPU performance has shot up aggressively, CPUs have had to rely on multi-threading to achieve more modest performance gains. Developers and engine and driver makers have made use of this glut of relative GPU power by cranking up the resolution and increasing the quality of in-game models, but it has been more challenging to achieve gains in how much the GPU can render in a single frame, Gosalia said.

Microsoft touts performance improvements for existing hardware in DirectX 12

That last part is the focus of DirectX 12. The new version of DirectX, and the key Direct3D drivers underlying it, wants to give developers the ability to "fully exploit the CPU," Gosalia said. DirectX 12 will be the first version of the API to "go much lower level" allowing console-style direct access to GPU system calls through APIs mapped specifically to a wide range of hardware. "With DirectX 12, we want the fastest way to exploit the GPU," he said.

DirectX 11 introduced the ability to put together sequences of instructions for the GPU on multiple threads. However, actual dispatch to the GPU was still performed on a single thread, and the design of DirectX 11 means that some of the work must be done on that single thread. Moreover, not all GPU drivers support this capability. DirectX 12 will increase the amount of work that's performed on the different cores, and similarly reduce the burden on the main thread.

DirectX 12 logo

Under DirectX 12, apps will have the ability to track the GPU's pipeline status directly, without relying on the API or driver as a middleman. Developers will be able to directly control when a resource changes from a texture to a render target and back, for instance, and control where resources are placed in the system heap. Developers will also be able to bundle resources into groups for easier tracking.

Gosalia said these kinds of low-level features are "targeted towards the smartest game developers," but will give unprecedented performance for those willing to get into the weeds. "For developers that want to get down deep, do their own resources management... this is going to be an API that will be super exciting to them," Nvidia Executive VP Tony Tomasi said in support of that goal. "It's all up to us, and that's the way we like it," added Turn 10's Chris Tector, who demonstrated a version of Forza Motorsport 5 ported from Xbox One DirectX 11 to PC DirectX 12 in about four man-months, with a large increase in performance.

Microsoft also discussed new CPU indexing algorithms in DirectX 12 that choose which core to use for specific tasks with no overhead. This lets those cores work completely asynchronously, Gosalia said, and maximizes the power of today's multi-core processors. In a demonstration running on an Intel i7 processor, he showed a scene that leaned heavily on the primary core under DirectX 11, with the other three cores only helping out a little bit. After porting to DirectX 12, the system load was balanced almost perfectly evenly over all four cores, leading to an almost five-times reduction in total CPU times and much more overall overhead.

There are other optimizations to reduce system loads in DirectX 12 as well, Gosalia said. Since "most apps and games have a lot of similarity in what they draw from one frame to another," DirectX 12 has algorithms to reduce the overhead from recalculating minor state changes in a scene. A new heap implementation will amortize the creation and destruction of resources, limiting system costs. DirectX 12 will introduce a new, faster resource binding model and allow for faster reuse of memory freed up by used resources that are no longer needed. Developers will also be able to decompress ASTC and JPEG images in hardware.


While previous versions of DirectX have often required new graphics hardware built specifically with the new APIs in mind, Microsoft suggested that a large portion of existing hardware would be able to support DirectX 12 and see immediate benefits from its roll out. That includes 80 percent of the new gamer PCs selling today, according to Gosalia's estimates, and 50 percent of all PCs that will be "out there" by the time DirectX 12 ships. Every Xbox One will be capable of running DirectX 12 games as well, he said, alongside many Windows Phones.

Specifically, AMD "Graphics Core Next" GPUs, broadly HD 7000 and up, and NVIDIA Fermi, Kepler, and Maxwell GPUs (which is to say, all of the company's DirectX 11 parts) will all support DirectX 12.

"People who have our current CPUs, they get the benefit of this API on day one," AMD's Raja Khodury said on stage. "And it's not a small benefit. It's... like getting four generations of hardware ahead with this API."

Nvidia's Tomasi echoed a similar sentiment, saying that all of its cards that currently support DirectX 11 will have DirectX 12 support from day one. Those high-end Nvidia cards alone represent what Tomasi estimated was about 40 percent of the current universe of gaming GPUs, based on Steam statistics. Those existing cards will see orders of magnitude improvements from DirectX 12's release, he said, "going from 100s of thousands to millions and maybe tens of millions of system draws a second."

On the mobile side, Qualcomm Engineering VP Eric Demers said that features like reduced CPU overhead and the resultant lower energy draw in DirectX 12 are "music to my ears from a power standpoint." DirectX 12 could also make it easier to see Xbox and PC titles transition to mobile forms, but he warned that "we'll see how that experience goes."

During a Q&A, Gosalia pointedly dodged a question about whether Microsoft would be offering DirectX 12 support on Windows 7. "We understand your desire to get DirectX 12 on the broadest set of hardware," he said. "We won't be announcing anything today, but stay tuned."

Source: Betanews

Tags: computer games, DirectX, Microsoft

Add comment

Your name:
Sign in with:
Your comment:

Enter code:

E-mail (not required)
E-mail will not be disclosed to the third party

Last news

Pokemon GO had the potential to net $1 billion a year
The report said that Hon Hai has invested about US$600 million in India
Market research firm IDC reports that in the third quarter of this year
Customers will only have to shell out 50% of the cost of their Galaxy S7 device
New flagship will launch in 2017
Patent hints at name of the upcoming Surface AIO
IBM, Globalfoundries and Samsung have chosen to use extreme ultraviolet (EUV) light to pattern transistors
Samsung Galaxy TabPro S - a tablet with the Windows-keyboard
The first Windows-tablet with the 12-inch display Super AMOLED
June 7, 2016 /
Keyboards for iOS
Ten iOS keyboards review
July 18, 2015 /
Samsung E1200 Mobile Phone Review
A cheap phone with a good screen
March 8, 2015 / 4
Creative Sound Blaster Z sound card review
Good sound for those who are not satisfied with the onboard solution
September 25, 2014 / 2
Samsung Galaxy Gear: Smartwatch at High Price
The first smartwatch from Samsung - almost a smartphone with a small body
December 19, 2013 /
HP Slate 7 is a 7-inch Android 4 Tablet PC with good sound
A cost-effective, 7-inch tablet PC from a renowned manufacturer
October 25, 2013 / 4

News Archive



Do you use microSD card with your phone?
or leave your own version in comments