En la GDC 2024, AMD acaba de ampliar la API Work Graphs recientemente anunciada por Microsoft, y una demostración rápida muestra lo poderosa que puede ser la nueva tecnología para el rendimiento de los juegos. La iteración de AMD mueve las llamadas de dibujo y los nodos de malla de la CPU a la GPU, lo que reduce el tiempo que se tarda en ejecutar estas tareas. Como resultado, AMD descubrió que había una mejora masiva en el rendimiento (el tiempo de renderizado experimentó un aumento del 64 %) al usar Work Graphs con sombreadores de malla.
Microsoft introdujo Work Graphs como una forma de agilizar los procesos tanto en los juegos como en la productividad, todo ello dando a la GPU el poder de programar y ejecutar tareas sin necesidad de comunicarse primero con la CPU. Está integrado en la API de Direct3D 12 y puede reducir los cuellos de botella y mejorar el rendimiento de los juegos en 3D.
La adición de nodos de malla es una forma de simplificar la representación de formas y escenas complejas mediante el uso de sombreadores de malla. Esencialmente, esto debería limitar el cambio entre tareas de renderizado, agilizando el proceso y mejorando la eficiencia. Las llamadas de dibujo, por otro lado, se refieren a las solicitudes enviadas a la GPU para representar gráficos, y procesarlas por separado también puede tener un impacto en el rendimiento.
«Los nodos de malla amplían los gráficos de trabajo mediante la introducción de un nuevo tipo de nodo hoja que impulsa un sombreador de malla y que permite hacer referencia a un PSO de gráficos normales desde el gráfico de trabajo. […] ¡Ahora también se puede hacer un cambio completo de PSO! La función se llama nodos de malla, ya que permite que un gráfico de trabajo se alimente directamente a un sombreador de malla, convirtiendo el gráfico de trabajo en sí mismo en un sombreador de amplificación con esteroides», escribe Matthäus Chajdas, arquitecto de AMD, en la publicación del blog AMD GPUOpen, refiriéndose a los PSO (Pipeline State Objects) en toda la canalización de gráficos.
Para mostrar las mejoras, AMD pudo compartir algunos «números súper tempranos» que comparan el uso de Work Graphs con Execute Indirect cuando se usa una RX 7900 XTX. Ejecutar indirectamente es una característica de las API gráficas modernas, como DirectX 12 y Vulkan, que permite a la GPU realizar comandos de dibujo o envío; esencialmente, es otra cosa que permite que la GPU maneje algunas de las cargas de trabajo de la CPU en lugar de comunicarse con ella para cada tarea.
En ese primer punto de referencia, AMD descubrió que Execute Indirect es hasta un 39% más lento (1,64x) que Work Graphs con la extensión de nodos de malla.
AMD también compartió una demostración preparada por el equipo de la Universidad de Coburg en Alemania que muestra la función en tiempo real en un escenario de juego en 3D.
Es difícil predecir el impacto de Work Graphs, así como las adiciones de AMD a la nueva función. Sin embargo, parece que será una buena manera de que la GPU asuma la mayor parte del trabajo en escenarios de juego, eliminando los cuellos de botella de la CPU y dando soporte a los sistemas con procesadores más débiles. A modo de ejemplo, AMD utilizó una CPU Ryzen 7 5800X en sus pruebas, y esto demuestra que estos chips más antiguos pueden ser los que más se beneficien.