Blog Personal.

Futuro, PlayStation, PlayStation 5, Radeon

El «VRS» de Cerny

Hay una patente post-PS4 Pro por parte de Sony cuyo inventor es Mark Cerny que tiene relación con la aplicación del Variable Rate Shading o al menos una de sus aplicaciones que no es otra que la del Foveated Rendering. Sabemos que es Post-PS4 Pro por la fecha de publicación de la misma.

La idea del Foveated Rendering es que nuestros ojos no ven con la misma definición en todas las áreas y esta más bien pensado para la Realidad Virtual.

Por lo tanto el Foveated Rendering tiene que ver con que la densidad de pixeles no es homogénea en toda la pantalla sino que es variable.

La idea es que la resolución de cada zona de la pantalla varía según cada subdivisión del campo de visión.

Ahora bien, dado que el Foveated Rendering es una aplicación del Variable Rate Shading uno erróneamente puede pensar de entrada que PlayStation 5 soporta Variable Rate Shading dado que el Foveated es una de las aplicaciones de este. Es más, AMD cuando presento Polaris lo que hizo fue hablar del VRS en esos terminos aunque hasta ahora no lo ha aplicado en sus GPUs lanzadas en el mercado.

La pregunta es… ¿Esa vieja diapositiva hace referencia al mismo VRS que Nvidia ha implementado en Turing y se ha estandarizado en DX12 Ultimate o es una implementación mucho más simple de la que solo comparte el nombre? Tened en cuenta que el VRS de RDNA2 en PC y Xbox Series X (a confirmar en PS5) no es el mismo que el de la diapositiva y esta mucho más relacionado con el que Nvidia ha implementado en Turing, el cual es mucho más avanzado, pero en esta entrada veremos que lo que AMD en su día llamo VRS no es lo mismo que el VRS implementado en Turing y en la API DX12 Ultimate.

Con el Variable Rate Shading lo que hacemos es poder agrupar grupos de pixeles en escena bajo un mismo grupo de shaders.

Pero no disminuimos la cantidad de pixeles en pantalla en ningún momento solo el ratio de «shading» mientras que el objetivo con el Foveated y con la patente es el de disminuir la resolución de pantalla según el area correspondiente. El truco esta en que en vez de renderizar la escena desde un viewport o punto de vista general…

La idea es que por cada zona del area de visión del Foveated Rendering le corresponde un campo de visión que va a ser renderizado como su fuese una imagen completa pero a la resolución que le corresponda dicha área. Es decir, lo que hacemos es renderizar cada parte de la escena por separado donde cada escena corresponde a un viewport distinto (Z en la patente).

Curiosamente esto ya lo vimos en las Nvidia Pascal y no, no es Variable Rate Shading.

Fuente:

Esta función se habilita a través de un bloque de hardware agregado al PolyMorph Engine de la GP104. Esta lógica toma los datos de geometría y los procesa a través de hasta 16 proyecciones desde un punto de vista. O puede compensar el punto de vista de las aplicaciones estéreo, replicando la geometría hasta 32 veces en hardware y sin la sobrecarga de alto rendimiento en que incurriría si intentara lograr el mismo efecto sin SMP.

La idea es no tener que recalcular la geometría por cada viewport correspondiente a cada zona de la pantalla durante el Foveated sino que puede generar en un mismo paso de geometría todos los viewports necesarios sin tener que recalcularlos de nuevo ya que esto añadiría latencia al proceso de renderizado. Para generar la geometría de los diferentes puntos de vista lo que hace la solución de Nvidia es generarla en el Polymorph Engine y la solución de Cerny sería exactamente la misma, generar la geometría de los diferentes Viewports en la unidad de teselación.

Hay que tener en cuenta que cada viewport es tratado por la GPU como si fuese una imagen completa y se rasteriza por separado la resolución objetivo. El caso es que lo que AMD llamaba Variable Rate Shading en la diapositiva de las AMD Polaris que os he puesto más arriba tiene más que ver el Simultaneos Multi-Projection que Nvidia implemento en Pascal y la elección de Variable Rate Shading por parte de AMD en estos tiempos fue un nombre confuso que no va con la definición exacta de lo que ha resultado ser al final.

Es más, la patente del Variable Rate Shading de AMD no corresponde con la diapositiva y si con la implementación que se ha estandarizado. ¿Significa esto que PlayStation 5 no lo soporta? Pues ahora mismo…

No hay nada que lo niegue o lo confirme, lo que si que sabemos es que la patente de Cerny no confirma nada por el hecho que no tiene que ver con el Variable Rate Shading y más bien tiene relación con el Foveated Rendering y el hecho de renderizar cada zona de la pantalla con una resolución distinta y si… Reconozco que yo también he tirado de esa patente y por eso creo que es importante dejar las cosas claras en ese aspecto. Lo mejor es esperar a ver que se dice.

Esto es todo, tenéis los comentarios de esta misma entrada para comentar y no olvideis que tenemos Discord.

5 2 votes
Article Rating
4 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Ger

Más razón para que las psvr2 tengan eye tracking

Dani

En efecto, no hay nada que confirme que PS5 soporte el VRS tal y como se conoce ahora, pero que Sony no lo diga me hace pensar que no lo soporta. De todas formas, el «VRS» de PS5 no parece mala opción, seguro que el 90% de la gente no notaría la diferencia. La gran pregunta es ¿el foveated rendering es automático o cada desarrollador tiene que implementarlo manualmente? Si es manual ¿es sencillo? Si al final conlleva algo de dificultad o mucho cambio en el código sólo implementarán el «VRS» los First de Sony. Que no es del todo… Read more »

Franer

El «VRS» de la patente de Cerny solo valdría para un casco VR que sea capaz de seguir el punto al que enfocas con los ojos.

Dani

Seguro que se podrá implementar en cualquier juego, aunque no fuera automático.