abril 19, 2021
PS5 Burning

Lo siento, no hay super-resolución para PS5

AMD ha lanzado un trailer de su FidelityFX para sus Radeon RX 6×00 y parece ser que hay algo que ha caído de la lista.

En el tráiler hablan de:

  • Contrast Adaptative Sharpening.
  • Ambient Occlusion.
  • Variable (Rate) Shading.
  • Screen Space Reflections.
  • Denoiser.
  • HDR Mapper.
  • Downsampler.
  • Parallel Sort.

¿Os habéis dado cuenta que la Super-Resolución ha desaparecido? Llevo tiempo diciendo que el motivo por el cual los algoritmos DLSS de NVIDIA funcionan es por la enorme potencia de sus Tensor Cores, la cual es como mínimo casi de una orden de magnitud respecto a las unidades SIMD.

La solución de AMD pasa por el SIMD sobre registro, que se basa en hacer que una ALU de 32 bits y su registro puede operar como 2 ALUS de 16 bits o 4 de 8 bits. Pero, todas ellas ejecutando la misma instrucción.

Para poder hacer escalado de la resolución a través de la IA antes se ha tener la imagen que se quiere escalar y por eso es necesario renderizar la escena. Luego dependiendo de la resolución de entrada y la de salida la carga computacional para hacer el escalado va a variar. Esto se ve observando las tablas y gráficos oficiales de NVIDIA sobre el coste computacional del DLSS.

 

Obviamente el coste es variable dependiendo de cada juego, ya que el DLSS no es un algoritmo fijo sino que es producto de entrenar a una red neuronal convolucional o CNN en Inglés. Las cuales en lo que mejor funcionan es en los llamados arrays o matrices sistólicas, que es lo que son los Tensor Cores.

CNN y visión por computador

Los CNN se utilizan para la visión por computador, no confundir con  los gráficos. Donde a la máquina se le enseña a ver cosas imitando el funcionamiento vía hardware de la visión en el mundo animal. Lo que se hace es entrenar a la IA para que aprenda a ver primero formas y colores y desde ahí acabe identificando objetos. Uno de los objetivos es que la IA sea capaz de reproducir lo más fielmente posible una imagen que haya visto a través de las formas y colores que ha aprendido.

Pues bien, el DLSS hace eso, por lo que primero se ha de entrenar a la IA para que genere la inferencia o el algoritmo final que permita escalar. La ventaja de los arrays sistólicos o Tensor Cores en este caso es enorme. Y es cierto que podéis ejecutar el algoritmo en una GPU, también lo podéis hacer en una CPU. Pero, esta claro que no va a funcionar a la misma velocidad.

AMD intenta salvarle el culo a SONY

Esta diapositiva es muy, pero que muy divertida. Hay que tener en cuenta que AMD cobra de cada PlayStation 5 vendida, por lo que tiene tanto interés como SONY en que se venda la consola.

AMD RDNA 2 Family

Todos los medios están repitiendo el bulo de que el FidelityFX que se basa en Microsoft DirectML va a llegar a PlayStation 5, la cual es la competencia directa de Microsoft Xbox. Es como si en la era de lo 16 bits se dijese que algo de Nintendo llega a Sega y viceversa.

En fin, AMD dice que esta trabajando en la Super-Resolución, como ya dijo hace seis meses y nada. Lo mejor es que según la propia AMD va a funcionar en todos los sistemas con RDNA 2 incluyendo la PlayStation 5 de SONY o al menos es lo que los medios están dando a entender.

En la diapositiva dejan muy claro que es algo que tienen que hablar con los desarrolladores, por lo que el código de los juegos se ha de optimizar para implementar la Super-Resolución de AMD y por tanto no es algo a lo que simplemente se realice de manera automática.

PS5 es cada vez menos RDNA 2

Los que seguimos la evolución del SoC de PlayStation 5 sabemos que originalmente se baso en el primer RDNA y fue evolucionado a RDNA «2»a última hora al añadirle las unidades de texturizado de RDNA 2, las cuales incluyen el Ray Accelerator Unit para el Ray Tracing, este cambio se podía hacer ya que no implica cambiar el resto de la Compute Unit y de la GPU.

No obstante debido a que es anunciada como RDNA 2 tanto por SONY como por AMD muchos pensamos que teníamos el set completo, no tenía sentido en ningún momento ir recortando cosas de RDNA 2 cuando AMD podía ofrecer el paquete completo. Pero muchos, desgraciadamente no tuvimos en cuenta la situación económica de SONY que la ha llevado a meter tijeretazos en su consola.

¿Cuál es el siguiente recorte? Pues, lo podemos deducir a partir de las palabras de David Cage. Si, si, el de Heavy Rain y Beyond Two Souls.

Siempre es un desafío comparar hardware, ya que siempre tiene ventajas y desventajas. No es solo una cuestión de CPU o frecuencia; se trata más de la consistencia de los componentes y las posibilidades de las funciones avanzadas.

 

La CPU de las dos consolas usa el mismo procesador (un poco más rápido en Xbox Series X), la GPU de la Xbox también parece más potente, ya que es un 16% más rápida que la GPU de PS5, con un ancho de banda que es un 25% más rápido. La velocidad de transferencia desde el SSD es dos veces más rápida en PS5.

 

Los núcleos shader de Xbox también son más adecuados para el aprendizaje automático, lo que podría ser una ventaja si Microsoft logra implementar un equivalente al DLSS de Nvidia (una solución de red neuronal avanzada para IA).

 

En general, creo que el análisis puro del hardware muestra una ventaja para Microsoft, pero la experiencia nos dice que el hardware es solo una parte de la ecuación: Sony demostró en el pasado que sus consolas podían ofrecer los juegos más atractivos debido a su arquitectura y software. eran generalmente muy consistentes y eficientes.

¿A que se refiere David Cage? Bueno, AMD cuando lanzo la segunda revisión de su serie RX 5000 de PC mejoro las unidades SIMD para agregarle soporte para trabajar en enteros de 8 bits y 4 bits y el formato BFLOAT de 16 bits. Ambos ampliamente utilizados en algoritmos de IA.

Si esto es así, entonces PlayStation 5 tendría un handicap considerable a la hora de ejecutar esos algoritmos en la GPU. En todo caso SONY no ha dicho nada y son los medios junto a AMD quienes corren raudos y veloces a taparle el culo a las decisiones técnicas de SONY.

Checkerboard Rendering 2.0

SONY en PlayStation 5 va a continuar haciendo uso del Checkerboard Rendering, tal y como ocurrió con PS4 Pro.

La inyección temporal no es más que el Checkerboard Rendering pero mejorado, la idea del CBR no es más que renderizar una imagen con la mitad de píxeles, pero en una configuración de tablero de ajedrez alterno en cada fotograma.

Para ello el búfer frontal de los fotogramas anteriores se almacena en lo que llamamos el History Buffer:

El History Buffer es un búfer a resolución completa que contiene los resultados de los fotogramas previos resueltos. Por cada pixel, la reproyección es utilizada para encontrar su valor en el history buffer y combinar los dos colores utilizando una mezcla fija. Los resultados son escritos en el history buffer para el siguiente fotograma.

 

Para mejorar la cobertura por muestra, el patrón píxeles en tablero de ajedrez se alterna con cada fotograma.

La idea es muy simple, a cada objeto en pantalla se le coloca una etiqueta o ID y se crea un búfer de imagen adicional con cada objeto etiquetado. Así de esta manera los píxeles que faltan en la imagen se pueden obtener mirando la información del fotograma anterior.

Para reproyectar en el history buffer, la resolución requiere un búfer de velocidad checkerboard que contenta la velocidad según el espacio de pantalla de cada pixel. Las velocidades se espera que estén normalizadas al espacio de coordenadas del dispositivo.

La velocidad no es más que el desplazamiento de un objeto de un punto A a un punto B en el tiempo. Gracias a esto la GPU puede saber donde se encuentra cada objeto de un fotograma a otro y poder hacer la reconstrucción.

En PlayStation 4 Pro, el ID Buffer necesario para el CBR es generado a nivel de «driver» durante la etapa de rasterizado del Pipeline 3D por el Color Buffer, ocupando para ello uno de los 8 MRT o Render Targets que habitualmente se utilizan para el renderizado en diferido.

Pues bien, en  PlayStation 5 hacen uso de la misma técnica que en PS4 Pro, y no esperéis ver la Super-Resolution del FidelityFX de AMD, basada en DirectML en la consola de SONY, por mucho que los medios mientan sobre el tema.