DX12 is newer so it is better?

NO!

These are some of the articles I’ve read to understand what DX12 is actually doing:
[New DirectX 11 vs. DirectX 12 comparison shows uneven results, limited improvements]
[Why is the DirectX 12 renderer slower than the DirectX 11 renderer ?]
[GTX 1080 and poor DX12 performance compared to DX11]

DX12 Claims

  • Increase performance of CPU-bound applications
  • Reduce CPU overhead -> handle more draw calls / frame -> more resources on rendering
  • Multi-threading : GfxDevice client/worker pair
  • Microsoft “believes” that DirectX 12 boosts the CPU performance by 50% and the GPU performance by 20%

 

DX12 Facts

How much a game benefits from DirectX 12 depends on

  • what kind of CPU you’re testing it on
  • how GPU-limited your quality settings are
  • how much experience the developer has in the API to start with
  • whether the title was developed from the ground up to take advantage of DX12
  • if its support for the API was patched in at a later date

⇒ Depends on project and team

It’s been known for years that Nvidia GPUs are often faster with lower-end Intel or AMD CPUs (pre-Ryzen) than AMD’s own GPUs are. Part of the reason for this is because Nvidia’s own DX11 drivers implement multi-threading, whereas AMD’s do not.

⇒ Depends on hardware

If the GPU is already saturated with all the processing it can handle, stuffing more draw calls into the pipe isn’t going to improve anything.

⇒ Depends on GPU workload

 

My DX12 vs DX11 Test Results

Sorry for not being able to share screenshots because those testing materials are only for internal-use.
  • Heavy graphics scene ⇒ GPU bound
    realtime / baked GI, particle systems, props, shaders, lens flare, postprocessing
    Forward Rendering  ⇒ DX12 performance decreased by half
    Deferred Shading ⇒ DX12 performance is slightly lower
  • Physics Rigidbody scene ⇒ CPU bound
    many physics rigidbody calculating continuous collision in each other BUT must turn off realtime lights, batching, use cheap shader etc.
    Forward Rendering & Deferred Shading  ⇒ DX12 performance increased by half
  • Memory consumption
    DX12 always consume more memory than DX11, from xx mb to xxx mb+

 

Summary

 

Most of the games nowadays are GPU bound. Would DX12 make the games run faster? I will stick with DX11 tbh.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s