Microsoft ha confirmado el lanzamiento de una nueva función de DirectX 12 que llevaba un tiempo en vista previa, Work Graphs. Esta nueva solución dota a la GPU de una mayor independencia, ya que le permite afrontar una mayor carga de trabajo sin tener que recurrir a la CPU. Esto es posible gracias al uso de funciones "latentes" de la GPU que se encontraban bloqueadas o que no se aprovechaban.
Al reducir la dependencia de la CPU se mejoran las situaciones en las que se suelen producir cuellos de botella por este componente, y la GPU es capaz de incrementar su rendimiento incluso en escenarios que tienen una mayor dependencia del procesador. Lo mejor para una GPU es que sea capaz de "alimentarse" a sí misma, sin tener que recurrir a la CPU.
Uno de los avances más importantes que se logró en esa materia fue la trasferencia de las funciones de transformación e iluminación de la CPU a la GPU, y a partir de ahí esta se ha ido ocupando cada vez de más cosas. Con esta nueva función el núcleo gráfico puede seguir determinado qué cosas debe seguir haciendo sin recibir instrucciones de la GPU, y esto se consigue mediante la creación de un buffer de comandos que debe ser procesado en serie en la GPU para que este distribuya nuevo trabajo a dicho componente de forma directa.
Work Graphs se define como un gráfico de nodos donde el código de sombreado de cada nodo puede solicitar invocaciones a otros nodos, sin esperar a que se inicien. Esta tecnología capta la intención algorítmica del usuario y la estructura general, sin llegar a lastrar al desarrollador por tener demasiados conocimientos sobre el hardware específico en el que se ejecutará. Su naturaleza es asincrónica, lo que permite maximizar la libertad del sistema para decidir cuál es la mejor manera de ejecutar el trabajo.