Variable Rate Shading, nueva API que mejora el rendimiento de DirectX 12
Microsoft anunció durante la Game Developers Conferencie 2019 (GDC 2019) su nueva API dedicada Variable Rate Shading, donde una vez los estudios y desarrolladores lo apliquen en sus motores gráficos y juegos, se promete, por ahora, una mejora de rendimiento de hasta un 14 por ciento, eso sí, es una API exclusiva para DirectX 12.
Los primeros estudios en integrar esta tecnología son Playground Games junto a Turn 10 (Forza), Ubisoft, Massive Entertainment (The Division), 343 Industries (Halo), Stardock, IO Interactive, Activision, Epic Games y Unity.
Otro punto a tener en cuenta para esta tecnología, es que por ahora las únicas tarjetas gráficas en ofrecerle soporte son las Nvidia GeForce RTX, por lo que en caso de AMD tocará esperar a su próxima generación de GPUs, al igual que Intel y sus iGPUs bajo la arquitectura Gen11.
Poniendo como ejemplo el juego de Firaxis Games, Civilization VI, al implementarse la tecnología su rendimiento mejora en un 14% manteniendo la misma calidad gráfica.
La tecnología está disponible a partir de hoy, así que solo tocará esperar que los juegos la implementen.
¿Qué es el Variable Rate Shading / Sombreado de Tasa Variable?
En pocas palabras, es una nueva y poderosa API que brinda a los desarrolladores la capacidad de usar la GPU de manera más inteligente.
Vamos a explicarlo.
Para cada píxel en una pantalla, los shaders son llamados para calcular el color que debería tener este píxel. La tasa de shading se refiere a la resolución a la que se llaman estos shaders (que es diferente de la resolución de la pantalla en general). Una mayor tasa de shaders significa más fidelidad visual, pero un mayor esfuerzo para GPU; una tasa de shaders más baja significa lo contrario: menor fidelidad visual que tiene un esfuerzo para la GPU más bajo.
Tradicionalmente, cuando los desarrolladores establecen la tasa de shaders / sombreado de un juego, esta tasa de sombreado se aplica a todos los píxeles en un marco.
Hay un problema con esto: no todos los píxeles son creados iguales.
El Variable Rate Shading (VRS) permite a los desarrolladores reducir de manera selectiva la tasa de sombreado en áreas donde no afectará la calidad visual, lo que les permite obtener un rendimiento adicional en sus juegos. Esto es realmente emocionante, porque el rendimiento adicional significa un aumento de la velocidad de fotogramas y un hardware de menor potencia, permitiendo mejorar el rendimiento de los juegos.
VRS también permite a los desarrolladores hacer lo contrario: usar una mayor tasa de sombreado solo en las áreas donde más importa, lo que significa una mejor calidad visual en los juegos.
Además, diseñamos VRS para que sea extremadamente sencillo para que los desarrolladores lo integren en sus motores. Solo unos pocos días de trabajo de desarrollo para integrar el soporte de VRS puede resultar en grandes incrementos en el rendimiento.
Nuestra API VRS permite a los desarrolladores establecer la tasa de sombreado de 3 maneras diferentes y con dos tipos, o niveles, de hardware con soporte VRS. El hardware que puede admitir el hardware VRS por trazado es el Nivel 1. También hay un Nivel 2, el hardware que puede admitir el sombreado de tasa variable dentro de un dibujo usando una imagen de espacio de pantalla.