Microsoft has released its Agility SDK 1.613.0, which features some critical components that will be shown to developers at the Game Developers Conference (GDC) in San Francisco next week. The most interesting component is Work Graphs, which Microsoft describes as “a whole new paradigm” for graphics cards.
Work Graphs enable GPU-driven work. Normally when you’re playing a PC game, there’s a relationship between your GPU and CPU. Your CPU gets work ready and sends it to your GPU, and then your GPU executes that work. Work Graphs is an approach that allows your GPU to schedule and execute its own tasks, which has some massive implications for performance.
You can see an early demonstration of that in the video above. The side-by-side comparison offers nearly identical performance, but around the 1:20 mark, you can see how the Work Graphs version shoots ahead. This is the first version of Work Graphs, so the fact that we’re already seeing such a stark improvement in certain scenes in huge.
It’s easy to think about game rendering in a linear way, but GPUs handle a lot of tasks in parallel. Rendering a final scene is complex, so your graphics card is handling several different tasks at the same time. Work Graphs is more efficient, allowing threads to move on to other tasks without waiting for more work from the CPU. Add these efficiencies up over a complex scene, and it can have a sizable impact on performance, as shown by the first public demo.
In complex scenes that would normally expose a CPU bottleneck, Work Graphs can maintain high performance. This hopefully will mean that games like Starfield that rely heavily on the CPU will maintain a high frame rate in complex areas like New Atlantis.
Work Graphs are just now being introduced to developers, so it will be some time before we see the improvements in games. This is a feature tailored toward developers, so it’s not something you’ll see in a graphics menu. Hopefully, it means that PC games will come out of the gate with better performance.
Currently, Work Graphs are supported on Nvidia RTX 30-series and 40-series GPUs, as well as AMD RDNA 3 GPUs. There isn’t support for older cards or Intel GPUs yet.