Borde de gráficos: Las tecnologías API «bare metal» como Direct3D 12 y Vulkan han brindado a los programadores de motores nuevas oportunidades para crear mundos de juegos 3D rápidos y cautivadores. El trabajo aún no está terminado, ya que Microsoft todavía está tratando de innovar presionando para lograr una mayor eficiencia del código en los videojuegos modernos (Windows).
Microsoft lanzó recientemente la última versión de su Agility SDK, que presenta nuevas funciones prometedoras en el mundo del desarrollo de juegos. El cambio más destacado incluido en Agility SDK 1.613.0 es Work Graphs, una API «de vanguardia» que proporciona a los desarrolladores una forma de utilizar todo el potencial de las GPU dedicadas.
Work Graphs no es solo una actualización de un modelo existente, Microsoft explica, sino una forma completamente nueva de hacer cosas con gráficos 3D en los juegos. La API permite un entorno de desarrollo más eficiente, flexible y creativo, brindando a los ingenieros de software la capacidad de generar y programar cargas de trabajo de GPU sobre la marcha sin depender de la CPU host.
Redmond publicó un largo, explicación técnica sobre el funcionamiento interno de Work Graphs, proporcionando ejemplos de código para desarrolladores de aplicaciones y sombreadores. En un entorno de desarrollo tradicional, explica Microsoft, muchas cargas de trabajo de GPU se programan en cooperación con la CPU para determinar qué trabajo posterior debe realizar la GPU.
Gracias a Work Graphs, los subprocesos de sombreado que ya se ejecutan en una GPU («productores») pueden solicitar la ejecución de otros trabajos («consumidores»). Los consumidores también pueden convertirse en productores, y la nueva API le brinda a la GPU la capacidad de administrar cargas de trabajo informáticas por sí sola sin esperar entradas externas de la CPU. Work Graphs captura «la intención algorítmica y la estructura general del usuario», sin obligar al programador a conocer el hardware de gráficos específico en el que se ejecutará su código.
Work Graphs puede lograr niveles de rendimiento más altos, latencia reducida y mayor escalabilidad para varias tareas de programación relacionadas con juegos, dice Microsoft. La tecnología podría potencialmente dar una nueva vida a los sistemas de juegos de PC equipados con CPU más antiguas, trasladando aún más la carga del rendimiento a las GPU, que tradicionalmente son mucho más fáciles de reemplazar y actualizar que los procesadores.
Agility SDK 1.613.0 también incluye funciones adicionales para desarrolladores de juegos. El Shader Model 6.8 proporciona una solución más eficiente. programación de sombreadores entorno, mientras que GPU Upload Heaps aumenta aún más la eficiencia de la controvertida función BAR de tamaño variable de las GPU modernas. La compatibilidad con Work Graphs ya está disponible en las GPU Nvidia (RTX 30, RTX 40) y AMD (RX 7000).