The problem? If the GPU finished its work early, it sat idle, twiddling its thumbs while the slow CPU scrambled to feed it the next list of chores. Developers tried to fix this with "ExecuteIndirect," which let the GPU decide how many threads to launch. But that was like giving a line cook a calculator; they could count the onions, but they couldn't decide to make soup instead of salad. Enter Work Graphs: The "Recursive GPU" Work Graphs turn that old linear kitchen into a hive mind.

Imagine a ray-traced reflection. In the old model, the GPU shoots a ray. If that ray hits a mirror surface, the GPU has to stop, bounce the data back to the CPU, wait for the CPU to say "yes, shoot another ray," and then restart. That round trip costs milliseconds—an eternity in gaming.

The GPU finally learned to manage itself. Developers just have to learn to let go.

With , the GPU launches a "Node." That node processes the work. If it needs more work (a second bounce, a third bounce, a particle effect that spawns more particles), it spawns a child node right there on the silicon. latest directx

Connect with us on

Comments

latest directx


Latest Directx Guide

The problem? If the GPU finished its work early, it sat idle, twiddling its thumbs while the slow CPU scrambled to feed it the next list of chores. Developers tried to fix this with "ExecuteIndirect," which let the GPU decide how many threads to launch. But that was like giving a line cook a calculator; they could count the onions, but they couldn't decide to make soup instead of salad. Enter Work Graphs: The "Recursive GPU" Work Graphs turn that old linear kitchen into a hive mind.

Imagine a ray-traced reflection. In the old model, the GPU shoots a ray. If that ray hits a mirror surface, the GPU has to stop, bounce the data back to the CPU, wait for the CPU to say "yes, shoot another ray," and then restart. That round trip costs milliseconds—an eternity in gaming.

The GPU finally learned to manage itself. Developers just have to learn to let go.

With , the GPU launches a "Node." That node processes the work. If it needs more work (a second bounce, a third bounce, a particle effect that spawns more particles), it spawns a child node right there on the silicon.