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]
- 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%
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+
Most of the games nowadays are GPU bound. Would DX12 make the games run faster? I will stick with DX11 tbh.