Ex-Naughty Dog Dev Explains Difference Between DX12 And DX11, Less Gains On Consoles Compared To PC

John Hable on how DX12 will impact consoles and PC.

Posted By | On 24th, May. 2015

dx12

Microsoft’s upcoming API DirectX12 has been under some serious discussion for quite a long time. It’s quoted to be a game changer for PC games development but what about consoles? Since the consoles already have a low level API, will the new APIs such as DX12 and Vulkan make that much of impact compared to what we have seen on PC gaming?

John Hable, Filmic World’s boss and former Naughty Dog developer believes that console games will benefit less from the new APIs. This is because console games are mostly GPU bound compared to PC games which are CPU bound.

“The short answer is that newer APIs will make the CPU faster, but will probably not have much effect on the GPU,” Hable said to GamingBolt.  “The improved APIs change how long it takes for you to tell the GPU what you want it to do, but they have no effect on how long it takes the GPU to actually execute those instructions. ”

“If your game is bottlenecked by the CPU, going to DirectX 12 or Vulkan will greatly help your game. But if you are bottlenecked by the GPU then the updated APIs will help little or not at all. Since many PC games are bottlenecked by the CPU, you will see massive gains there. However console games are usually bottlenecked by the GPU so I would not expect significant changes from newer APIs. The GPU is the same regardless of if you are using OpenGL, DirectX11/12, or Vulkan.”

Hable simplifies the difference between DirectX 11 and DirectX 12 with a straight forward example.

“Let’s say that you are drawing a cute little family of bunnies.  These bunnies are made of triangles and each bunny has its own color map, normal map, etc.  With OpenGL or DirectX 11 you would have to describe each of these bunnies one at a time.  The first bunny has a red color map.  The second bunny has a blue color map.  The third bunny has a green color map.  And every frame you have to tell the GPU the same thing over and over again.”

“DirectX12 and Vulkan are much more efficient.  In the first frame, you can describe all the bunnies to the GPU.  You tell the GPU that there is a red one, a blue one, and a green one.  Then they can all be drawn together.  With DirectX 11 and OpenGL you have to describe all the bunnies every frame but with DirectX 12 and Vulkan you can just say “draw all the bunnies”.  I’m oversimplifying but that is the idea.”

“The key idea is that the communication between the application and the GPU is much more efficient.  You can convey the same information with less overhead.  But the amount of time that it takes to actually render those bunnies is the same.  The GPU does not care if the commands came from DirectX 11/12, OpenGL or Vulkan.  It takes the same amount of time to actually draw those triangles.  But the communication (which takes CPU time) is much faster.”

“So if your game is bottlenecked by the overhead of telling the GPU what you want to do, then the APIs are a huge help.  This situation happens a lot on PC games where you have a powerful card sitting idle because it can draw things faster than it can be told to draw them.  But console games tend to keep the GPU working hard so there are less gains to be made.”

“Although the GPU might make some gains along the way.  Ideally you would render objects from front to back to minimize the amount of overdraw in a scene.  Unfortunately that would have too many state changes and it would take DirectX 11 and OpenGL too long to translate those commands to the GPU.  Many games are intentionally making “bad” decisions for the GPU to help out the driver on the CPU.”

“For example, let’s say that your bunnies have multiplied and now you have 5 red bunnies, 5 blue bunnies, and 5 green bunnies.  For the GPU, the ideal way to render the bunnies is front to back to minimize overdraw.  But the cost of telling the driver to do that would be too slow with DirectX 11 and OpenGL.”

“Telling the GPU to render red, blue, blue, green, red, blue, etc. would have too many state changes.  So you have to render all the red bunnies together, followed by all the blue and green bunnies.  With DirectX 12 and Vulkan, the overhead is low enough that we can render the bunnies in the optimal front to back order.  Of course I’m oversimplifying and there are other considerations but the point is the same.”

Stay tuned for more coverage from our exclusive interview with John Hable in the coming days.


Amazing Articles You Might Want To Check Out!

Keep On Reading!

“Halo is on PlayStation Going Forward,” Confirms Halo Studios Community Director

“Halo is on PlayStation Going Forward,” Confirms Halo Studios Community Director

Halo Studios' Brian Jarrard says the remake coming to PlayStation is "just going to mean more Halo for everyon...

Halo: Campaign Evolved’s Changes Criticized by Original Level Designer

Halo: Campaign Evolved’s Changes Criticized by Original Level Designer

Jamie Griesemer also lambasted the new sprint. “We have no vision for what this is supposed to be, here’s ...

Halo: Campaign Evolved Uses Original’s “Legacy Code” as The Foundation For Unreal Engine 5’s Visuals

Halo: Campaign Evolved Uses Original’s “Legacy Code” as The Foundation For Unreal Engine 5’s Visuals

Director Greg Hermann says the studio will "continue to push the boundaries of technology" while maintaining t...

Halo: Campaign Evolved Lacks PvP Because “We’re Not Trying to Replace the Original,” Says Producer

Halo: Campaign Evolved Lacks PvP Because “We’re Not Trying to Replace the Original,” Says Producer

Instead, Halo Studios is "trying to basically make something that stands kind of shoulder to shoulder" with th...

Commander Shepard’s Iconic Voice Actor Willing to Return for Mass Effect 5: “I Love That Universe”

Commander Shepard’s Iconic Voice Actor Willing to Return for Mass Effect 5: “I Love That Universe”

"I’m ready. Anytime. Krogan? Salarian? Turian? The possibilities are endless," said Jennifer Hale, though sh...

As Halo Goes Multiplatform, Xbox’s Matt Booty Says “Our Biggest Competition Isn’t Another Console”

As Halo Goes Multiplatform, Xbox’s Matt Booty Says “Our Biggest Competition Isn’t Another Console”

"We are competing more and more with everything from TikTok to movies," said the president of Xbox game conten...