Microsoft lanza Agility SDK con la API Work Graphs para mejorar el rendimiento de GPU y liberar carga de CPU

Cuando compramos una tarjeta gráfica, esta va a render mejor o peor dependiendo tanto de su hardware como del software. Por muy potente que sea una GPU, el software, tecnologías y drivers optimizados serán clave para poder sacarle todo el provecho. NVIDIA y AMD lideran el mercado de las tarjetas gráficas y estas ya han avisado que soportarán las nuevas tecnologías y mejoras que añadirá Microsoft con su Agility SDK 1.613 que trae Shader Model 6.8, Work Graphs y una nueva característica que mejorará el rendimiento de la GPU y liberará la CPU.

Con el paso de los años, hemos estado viendo el lanzamiento de nuevas generaciones de procesadores, RAM, gráficas, discos, placas y fuentes, que al final son las piezas clave de un PC. Entre todos los componentes de un ordenador, el rendimiento en juegos y programas va a ser influenciado principalmente por la CPU, GPU y RAM y en menor medida, el disco. De hecho, este último si usas un SSD PCIe no deberías preocuparte más por él, pues no solo tendrás lo mejor para juegos y programas, sino que además podrás emplear tecnologías como DirectStorage para mejorar el rendimiento y liberar carga de la CPU.

Microsoft lanza Agility SDK 1.613 con la API Work Graphs que permite liberar carga de la CPU enviándola a la GPU

Work Graphs

DirectStorage se encarga de emplear la GPU y el SSD NVMe para poder reducir los tiempos de carga y aumentar el rendimiento y todo esto mientras se reduce el uso del procesador. Ya hemos visto muchas pruebas usando esta tecnología en algunos juegos como Forspoken y luego se implementó en otros posteriores como Diablo IV o Ratchet and Clank: Rift Apart. Nos referimos precisamente a DirectStorage, por el hecho de que Microsoft ha lanzado su último Agility SDK 1.613 con Shader Model 6.8 y la API Work Graphs, la cual permitirá también liberar carga de la CPU.

Esta nueva versión del SDK de Agility trae una gran cantidad de nuevas funciones, pero primero vamos a centrarnos en la API Work Graphs la cual permitirá emplear al máximo el potencial de la gráfica. Con esta, la CPU y la GPU podrán trabajar de forma más eficiente, pues el procesador podrá planificar y enviar tareas a la GPU por adelantando, de forma de que esta no tenga que esperar como antes ocurría. Tal y como podemos ver, el tiempo de procesamiento se reduce considerablemente con Work Graphs comparado con "Dispatch-Barrier-Dispatch" que era el método habitual.

Work Graphs y el resto de funciones son compatibles con gráficas NVIDIA RTX 30/40 y AMD RX 7000

1

Shader Model 6.8 trae una serie de nuevas funciones para los desarrolladores como Start Vertex/Instance Location, que permite a los shaders acceder a los parámetros de la API para crear cálculos de direcciones personalizados sin depender de las funciones fijas. Con Wave Size Range, los desarrolladores podrán determinar el tamaño de onda en sus shaders para poder optimizarlos e incluso llegar a eliminar shaders si no son necesarios al hacer estos ajustes. La tercera función se denomina Expanded Comparison Sampling y tiene como objetivo poder implementar mejores shaders multiplataforma.

La última función sería GPU Upload Heaps, que nos permite copiar datos de la CPU a la GPU. Esto permite no depender del bus PCI para transferir datos de la memoria de la gráfica (VRAM) a la CPU, ya que emplea Resizable BAR para hacerlo con menor latencia. Tanto NVIDIA como AMD ya han lanzado sus drivers compatibles con el nuevo Agility SDK 1.613 de Microsoft y Work Graphs es compatible tanto con las RTX 30 y RTX 40 como las RX 7000 de AMD.