Skip to content

DirectX 11 versus DirectX 12: A Detailed Technical and Performance Comparison

DirectX is like an interface between game developers and your computer‘s hardware. It helps developers tap into the graphical capabilities of your system to create stunning and smooth visuals. DirectX has been at the heart of PC gaming for 25+ years now.

In that time, Microsoft has steadily advanced this technology with each version building on the strengths of its predecessor. DirectX 11 (DX11) drove gaming visuals to new heights when it first launched over a decade ago. But in recent years, its age started to show.

DirectX 12 (DX12) marks a major overhaul – almost a "reset" – built to power immersive gaming experiences into the 2020s and beyond. It unlocks new potential in modern hardware that even DX11 couldn‘t tap.

But what specifically changes under the hood to create this transformation? How much better can DX12 perform versus DX11? And should you look to upgrade if you haven‘t already?

Let‘s explore this in detail.

A Quick History Lesson

First some context. DirectX 11 debuted alongside Windows 7 over 12 years ago in 2009. At the time, it represented a major leap over the previous DX10 standard for graphics programming.

Some standout additions included:

  • Tessellation: Allowed curved 3D surfaces to gain more detail and smoother finishes. This enabled more lifelike textures.
  • Compute Shaders:Enabled general purpose computing workloads to run on GPUs. This laid the foundation for future physics and AI processing in games.
  • Multi-threading Support: Basic multi-threading capabilities so games could start utilizing multi-core CPUs.

With these tools, developers could craft more expansive and realistic game worlds. Titles like Battlefield 3, Crysis 2, and Far Cry 3 showed what DX11 could do.

But over time, glaring flaws emerged in DX11‘s design. Its sprawling architecture accommodated decades of legacy support dating back to DX6! This created substantial CPU overhead during graphical workloads. Plus DX11 struggled to take advantage of continuing GPU advancements and parallel computing capabilities.

By 2015 it became clear, an extensive modernization effort was required. And out of this need, DirectX 12 was born.

Microsoft rebuilt DX12 from scratch specifically to power a new generation of immersive, high efficiency games. The company even collaborated closely with hardware partners like Nvidia and AMD during development – a first for DirectX!

Under the hood DX12 is radically transformed. Let‘s analyze the pivotal upgrades:

Draw Call Improvements Reduce CPU Bottlenecks

Draw calls are commands sent from the game to your GPU instructing it to draw an object on-screen. The tens of thousands of draw calls required per frame has long caused CPU bottlenecks.

DX11 tried various workarounds over the years to optimize draw call workload with limited success.

Meanwhile DX12 handles draw calls in an entirely new way. It allows each CPU core to batch together draw calls independently before simultaneously sending them to the GPU in parallel.

DirectX 11 DirectX 12
Draw Call Submission Single-threaded, CPU bottlenecks Multi-threaded, efficient parallelization
Average Draw Calls Per Frame ~3,000 ~5,000-30,000

This advancement massively increases draw call efficiency, reduces CPU overhead and enables substantial performance scaling across multi-core CPUs.

Asynchronous Computing Enables Concurrent Workloads

Instead of strictly sequential operations, DX12 introduces asynchronous compute allowing GPUs to process graphics and compute workloads concurrently.

Tasks are broken up and simultaneously executed across available GPU hardware. So now rendering pipeline stages can run in parallel with physics, post-processing, AI and other systems.

By minimizing idle time for GPU resources, asynchronous computing enables major performance uplifts in GPU-heavy scenarios.

DirectX 11 DirectX 12
Workload Scheduling Strictly sequential Fully asynchronous
Peak GPU Utilization ~65% >95%

Advanced Multi-Threading Support

Unlike DX11 where multi-threading capabilities were limited, DX12 goes all-in on multi-threaded workloads for both CPU and GPU.

DX12 divides rendering processes into separate pipelines spread across different threads. These independent pipelines enable finer-grain parallelism freeing up the GPU to tackle innumerable tasks simultaneously.

For CPUs, DX12 reduces single-threaded bottlenecks allowing better utilization of available cores. This permits games to scale gracefully with higher core counts instead of relying on just 1-2 threads.

DirectX 11 DirectX 12
Multi-threaded Graphics Pipelines 2-3 6+
Average CPU Utilization 40-50% 90-100%

More Direct Hardware Access and Control

DX12 grants developers far more control over GPU resources and memory allocation than ever before.

Now hardware can be accessed directly without going through inefficient graphics driver abstraction layers. This reduces latency and allows fine-tuning resource handling at the application level.

DirectX 11 DirectX 12
Hardware Access Method Through graphics driver Direct access
Resource Manipulation Capabilities Limited presets Fully programmable

This unprecedented shift to a low-level API gives developers immense flexibility in leveraging modern hardware. Now let‘s see how this translates to measurable performance improvements:

Industry standard graphics benchmarks clearly demonstrate DX12‘s advantage:

DX12 delivers massively higher frame rates

  • As seen in 3D Mark Time Spy, DX12 outperforms DX11 substantially across all GPUs.
  • A mid-range Nvidia GTX 1660 Ti sees 41% higher FPS on average.
  • And an AMD RX 5700 XT scores a 50% average FPS uplift!

Now let‘s examine real-world gaming results:

Game Title DX11 FPS DX12 FPS Performance Gain
Rise of the Tomb Raider 71 88 +24%
Total War: Warhammer II 62 105 +69%
Forza Horizon 4 107 132 +23%

Here DX12 delivers marked framerate improvements, especially for recent games optimized to leverage DX12 from the ground up.

Based on Steam‘s hardware survey data, over 30% of gamers now utilize DX12. And hardware vendors expect adoption to accelerate further in coming years.

Nvidia alone forecasts DX12 penetration reaching 65% by 2025. Considering next-gen consoles from Xbox and Playstation rely on DX12 infrastructure, its relevance will only continue growing.

The performance evidence overwhelmingly favors DirectX 12. It marks a watershed moment for graphics technology on Windows.

Leveraging DX12 gives developers more direct access to tap into GPU horsepower. This flexibility translates into tangible framerate and visual quality improvements for gamers.

So if you game on a modern Windows 10 system, upgrading to DX12 is likely a smart choice. Game engines are increasingly optimized for DX12 features to deliver buttery smooth experiences going forward.

On the development side, DX12 unlocks substantial room for innovation after being constrained by DX11 limitations for years. It brings back flexibility reminiscent of those early DirectX days.

The industry firmly sees DX12 as the future, with multi-year roadmaps centered around expanding its capabilities. Bottom line – whether developer or average gamer, DX12 should be a vital part of your gaming toolkit in this decade.

How has your experience with DirectX 12 been so far? Let me know in the comments below!