mayo 8, 2021

¿Por qué los juegos de PS5 no tienen VRS?

Erase una vez una API llamada Mantle

Hace unos años AMD creo una API gráfica para sus recién lanzadas tarjetas gráficas con arquitectura GCN, a la que llamaron Mantle. ¿Su particularidad? Ser la primera API con soporte de varias listas de comandos en paralelo en la GPU.

Mantle Colas

Esto supuso un cambio en las GPU. Donde el procesador de comandos gráficos paso a estar acompañado por un pequeño conjunto de procesadores de comandos. Los cuales trabajan en paralelo para ejecutar las operaciones de computación que no son dependientes de la lista de pantalla encargada de renderizar la escena.

Mantle es GNM, la API gráfica de PS4

Lo que mucha gente desconoce es que la propia AMD fue la que le hizo la API a SONY para su PlayStation 4, la cual es llamada GNM. ¿Cuál es la particularidad de GNM? Pues no es otra que es Mantle pero con el mnemonico de cada instrucción cambiado. ¿Qué significa esto? Pues básicamente se cambia el significante de cada instrucción pero no lo que hace cada una.

Por ejemplo, si una instrucción era mantle_saluda, esta fue cambiada por gnm_saluda. De esta manera SONY se evito el problema que tuvo con la PlayStation 3 y su falta de una API gráfica de calidad en sus inicios, lo cual tuvo resultados cuanto menos desastrosos.

Mantle se convierte en Vulkan

En su día lo confirmo la propia AMD:

“Khronos Group ha elegido las mejores y más brillantes partes de Mantle para que sirvan como base para ‘Vulkan’, la emocionante próxima versión de la famosa API OpenGL”, escribió Hallock. “Vulkan combina e itera ampliamente sobre las características (de Mantle) como una API de gráficos nueva y única y poderosa. Y como producto de una increíble colaboración entre muchos proveedores de hardware y software de la industria, Vulkan allana el camino para un renacimiento en los juegos de PC multiplataforma y de proveedores con un rendimiento, calidad de imagen y características excepcionales «.

Por lo que si la API de SONY para PS4 es Mantle con otros mnemónico y Mantle ahora es Vulkan, entonces tenemos que en el fondo la API gráfica de PS4 y PS5 es Vulkan y por tanto va a evolucionar a la par con esta.

¿Qué ocurre con el Variable Rate Shading en PS5?

Muchos piensan que la falta de VRS en el caso de los primeros juegos de PlayStation 5 es por que este no se encuentra implementado en el hardware de la consola.

En realidad esto tiene una explicación y es que el Khronos Group implemento el VRS en Vulkan el pasado mes de octubre, no bajo el nombre de Variable Rate Shading, sino como Fragment Shading Rate, pero es exactamente lo mismo.

VRS Vulkan

Dado que la extensión para el VRS en Vulkan no fue publicada hasta octubre de 2020, esto significa que SONY no la pudo implementar en la API GNM antes de esa fecha, de ahí a que los juegos de PS5 no la utilicen.

¿Y el Ray Tracing, como es que la consola soporta Ray Tracing?

Si lo decís porque la especificación final ha salido en el pasado mes de diciembre, entonces dejad que os diga la diferencia entre una extensión y que algo pase a formar parte de la rama principal.

Vulkan hereda de OpenGL la capacidad de añadir extensiones para darle capacidades fuera de su rama principal, ahora las librerías para Ray Tracing están dentro de la rama, pero hace unos meses eran una simple extensión, como lo es ahora el Fragment Shading Rate/VRS.

La extensión existe desde marzo, tiempo suficiente como para que SONY la haya implementado en su librería GNM.

Con esto terminamos.