DirectX 12 'Work Graphs' aim to eliminate CPU bottlenecks by putting the GPU in charge

Microsoft's big update for DirectX and PC game development aims to eliminate CPU bottlenecks and improve performance with GPU-driven rendering.

2 minutes & 18 seconds read time

A week ago, Microsoft teased a new update to DirectX 12 for developers that will usher in "a new era of performance and efficiency." Today, we've got more details on what the new 'Work Graphs' entail and what to expect from PC games that take advantage of this potential game changer. Will it help eliminate or minimize poorly optimized releases? Potentially, the big thing with 'Work Graphs' is that it will help eliminate CPU bottlenecks.

CPU bottlenecks can result in similar performance across various GPUs.

CPU bottlenecks can result in similar performance across various GPUs.

For those needing a crash course in GPU rendering in PC gaming, a CPU bottleneck is a situation where the CPU is limiting the overall performance of the game - leaving untapped GPU horsepower on the table. In my recent review of the GeForce RTX 4080 SUPER, you can see this in action when playing Horizon Zero Dawn at 1080p. In the chart above, 8 of the most powerful GPUs deliver roughly the same performance because the CPU, engine, or other factors bottleneck performance.

'Work Graphs' aims to reduce the need to use the CPU for tasks and scheduling and switch to a more robust GPU-driven rendering system.

"Work graphs provide a programming paradigm that enables the GPU to generate work for itself on-the-fly," writes NVIDIA's Wessam Bahnassi on the arrival of 'Work Graphs.' "This offers a solution to some well-known game engine problems and opens the path to new creative ideas."

How it all works is, as they say, 'above my pay grade' and requires a deeper understanding of game engine programming, the DirectX 12 API, and other technologies under the hood. On a broad level, this update means that the GPU can do all of its business autonomously by scheduling and running its own tasks. This results in more efficient use of a GPU, which will result in better performance and more FPS.

Amar Patel, Engineer (Direct3D), and Tex Riddell, Engineer (DirectX Compiler), explain 'Work Graphs.'

In many GPU workloads, an initial calculation on the GPU determines what subsequent work the GPU needs to do. This can be accomplished with a round trip back to the CPU to issue the new work. But it is typically better for the GPU to be able to feed itself directly. ExecuteIndirect in D3D12 is a form of this, where the app uses the GPU to record a very constrained command buffer that needs to be serially processed on the GPU to issue new work.

Consider a new option. Suppose shader threads running on the GPU (producers) can request other work to run (consumers). Consumers can be producers as well. The system can schedule the requested work as soon as the GPU has capacity to run it. The app can also let the system manage memory for the data flowing between tasks.

This is Work Graphs. A graph of nodes where shader code at each node can request invocations of other nodes, without waiting for them to launch. Work graphs capture the user's algorithmic intent and overall structure, without burdening the developer to know too much about the specific hardware it will run on. The asynchronous nature maximizes the freedom for the system to decide how best to execute the work.

Buy at Amazon


TodayYesterday7 days ago30 days ago
Buy at Newegg
* Prices last scanned on 4/23/2024 at 9:29 am CDT - prices may not be accurate, click links above for the latest price. We may earn an affiliate commission.

Kosta is a veteran gaming journalist that cut his teeth on well-respected Aussie publications like PC PowerPlay and HYPER back when articles were printed on paper. A lifelong gamer since the 8-bit Nintendo era, it was the CD-ROM-powered 90s that cemented his love for all things games and technology. From point-and-click adventure games to RTS games with full-motion video cut-scenes and FPS titles referred to as Doom clones. Genres he still loves to this day. Kosta is also a musician, releasing dreamy electronic jams under the name Kbit.

Newsletter Subscription

Related Tags