Update #2, May 3, 2016: Another patch came out today that fixes the problems discussed here. Testing can continue....
Earlier this week, Square Enix released their second installment of the latest Hitman, Sapienza—see our full review. As one of the hardware geeks at PC Gamer, I'd been meaning to check into the DirectX 12 performance of the few games that currently support the new API. Hitman is one of them. With the second episode now out, it seemed like a good time to go run some tests.
Day one (April 26), right after the update to Sapienza, things were going okay. I started with Nvidia cards, since those were installed in my testbed, and I got numbers for DX11 and DX12 with the GTX 980 Ti. I also ran 980 Ti SLI, which not surprisingly showed that there's currently no support for multiple GPUs in the DX12 path. Nvidia's 980 Ti wasn't showing any benefit from switching to DX12, with performance slightly slower in DX12 mode and more stuttering (particularly at the start of the test sequence), but otherwise all was going according to plan.
Day two, there was an update in Steam, which I figured I should grab in case it fixed anything. There was a new graphics option (Ultra quality Level of Detail), and using that (instead of High LoD) resulted in lower performance for both DX11 and DX12. I tossed out my initial benchmark data and started again. Day three, Steam informed me there was yet another update. Sigh. So I grabbed that and prepared to restart all of my testing yet again.
But then a funny thing happened: launching the DX12 version of Hitman no longer worked. The spinning disk appears when you click Play, but the game never starts. Except Steam shows that it's running…and it's listed in Task Manager as a background process. There's no way to switch to it, but it does use a chunk of memory and one CPU core; my only choice is to silently assassinate the rogue process and try again.
That doesn't work. Thinking maybe my agent has been compromised, I switch graphics cards, first to a GTX 970, and when that fails I go all double-agent and install a Radeon R9 Nano. But try as I might, Hitman with DX12 enabled now refuses to cooperate.
The good news is, everything works as expected in DX11 mode, but DX12 has gone AWOL. This is starting to feel like par for the course with DirectX 12. Ashes of the Singularity remains the high water mark, but mostly on AMD GPUs—not really a surprise considering the game started as an AMD Mantle tech demo back in the day. At least Ashes runs on both AMD and Nvidia GPUs, and it even works with two GPUs of similar performance, ! Not that most gamers have both AMD and Nvidia hardware around, but it's still cool.
Meanwhile, Rise of the Tomb Raider and Hitman both fail to support multi-GPU in DX12 mode. Gears of War Ultimate and Quantum Break take it a step further and lock down things like display resolution and V-Sync, and Quantum Break at least has some serious performance issues.
Where is the DirectX 12 low-level API nirvana we were promised last year? My crystal ball may need a good cleaning, but right now my bet is that it will be at least another year before we see widespread support for the new API, and it might even be two years before we hit the point where DX12 games are superior to DX11 in performance.
Since being DX12 exclusive means losing out on Windows 7/8 users, I'd be pretty surprised to see any studios other than Microsoft looking purely at DX12. According to the Steam Hardware survey, 37% of users are now on Windows 10—but that still leaves the bulk of gamers still on various older versions of Windows. Until Windows 10 completely takes over, let's hope that if agent DX12 does reappear, he uses his time off to optimize performance a bit more.
(And yes, Vulkan is a possible alternative, though so far support on PCs has been even slower than DX12, with one title, The Talos Principle, currently running on Vulkan. Not surprisingly, that game also has a Linux binary available. We'll be keeping an eye on DX12 and Vulkan support, though, you can be sure.)
Update: It seems DX12 mode isn't completely broken; it just takes a really long time before the game kicks off. My system required about 14 minutes to start loading (meaning, the screen actually flipped into fullscreen Hitman mode), which is about 13 minutes and 45 seconds longer than most of us are willing to wait.