Esta entrada en realidad es una chorrada, pero el artículo de Digital Foundry al que voy a hacer referencia pienso que es un mecanismo de propaganda encubierta con tal de paliar por completo el impacto que puede tener el hecho que la siguiente generación no se base en el 4K puro y duro.

A raíz de E3, Sony envió versiones 4K de alta calidad de sus trailers, lo que nos permite obtener una mirada más cercana y más detallada sobre cómo se configura PlayStation 4 Pro para ofrecer la próxima ola de exclusivas propias para los propietarios de pantallas ultra HD. Tecnologías como el Checkerboard y la Temporal Injection persisten y, en todos los casos, los resultados son impresionantes. Y eso es algo bueno, ya que estas técnicas, o versiones evolucionadas de ellas, probablemente sean un componente de los juegos diseñados para la próxima generación de consolas. Por extensión, lo que eso también significa es que comercializar una nueva PlayStation o Xbox como una verdadera consola «4K», o impulsar a los desarrolladores a maximizar los recuentos de píxeles en primer lugar, puede no ser la mejor idea.

Que no es la mejor idea en estos momentos lo hemos visto en el caso de Xbox One X y su «True 4K» de marras, de ahí a que ahora Microsoft empezando por el PC este promocionando el Raytraing.

Entonces, ¿por qué debería ser este el caso? Después de todo, la resolución de 1080p se convirtió en el estándar para la generación de PlayStation 4, una coincidencia de píxel de 1: 1 para la mayoría de las pantallas a las que se conectaron las consolas, y para cuando llegue la PS5, 4K será el nuevo estándar. De hecho, en términos de qué televisores están disponibles en los estantes de las tiendas, ya lo es. Pero esto introduce la incómoda realidad de que veremos el mayor aumento de generación a generación en el conteo de píxeles desde la transición de PS1 a PS2. Los gigantescos saltos generacionales en el poder gráfico fueron comunes en los primeros años del siglo XXI, pero en la actualidad, las ganancias son más escasas.

Tenemos un rendimiento decreciente con el tema de los gráficos en 3D que hace que aparentemente no exista una evolución directa. No es algo que este ocurriendo ahora, cada salto generacional es menos impactante que el anterior y se ha llegado al limite de la rasterización donde aumentar la potencia bruta no significa una mejor presentación visual.

Pero el problema es que incluso mover la actual generación a 4K sin cambio en la tasa de fotogramas ni la complejidad de los mismos resulta una tarea titánica en potencia y complejidad de los chips. Pero mejor sigamos leyendo el artículo de Digital Foundry.

Y ese es un problema teniendo en cuenta qué tan grande es realmente el salto a los 4K, un salto completamente discordante con los incrementos en la resolución vistos en casi todas las generaciones anteriores de consolas. De hecho, los aumentos en el conteo de píxeles en realidad se han estado reduciendo de una generación a otra como una tendencia general desde hace más de una década. PS2 a PS3 vio el salto a la alta definición, pero esto todavía representaba un impulso de alrededor de 3 veces a la cantidad de píxeles que la GPU necesitaba para controlar la pantalla. Y avanzando hasta nuestros días, el estándar 1080p de PS4 representó un aumento de 2.25 veces respecto a los 720p de la PS3. Si se aplicara el mismo aumento en la siguiente transición, apuntaríamos a una resolución de 2880×1620, un mero 56 por ciento del área demandada por nuestras pantallas planas de 4K.

Para que la gente se situe, el salto de los 1080P a los llamados «4K» que en realidad son los 2160p es un salto en resolución que resulta en 4 veces la potencia la cantidad de pixeles en pantalla…

4k-vs-1080p

Esto significa que las tasas de relleno y texturizado han de ser 4 veces superiores, los anchos de banda y la capacidad de computación de los shaders también… ¡Para representar la misma escena a 4K! El problema añadido es que la gente espera un salto como el que hubo de PS3 a PS4 por lo menos y va a ser mucho, pero que mucho menor. Por ejemplo la resolución estandar de PS3 eran los 720P y el salto de lo 720p30 a los 1080p60 que es de 5 veces y con mejoras era posible de PS3 a PS4 por el hecho que la GPU de esta última es una orden de magnitud mejor. ¿Vamos a ver GPUs con una orden de magnitud mejor? Según la gente de Digital Foundry no.

Basandonos en el poder que AMD ha entregado en sus GPUs y el mapa de ruta de produtos futuros, un aumento 6X respecto a la potencia gráfica de Playstation 4 es concebible para una consola de siguiente generación: 8X es un tramo real, y este incremento en el poder de procesamiento es el umbral general que típicamente define un salto de generación a generación en el rendimiento de la consola. Sin embargo, cuando se analizan las transiciones anteriores, el peligro de priorizar el ‘True 4K’ en todos los ámbitos es que gran parte de esos recursos adicionales de la GPU se gastarán pintando píxeles, sin suficiente potencia dedicada a proporcionar un salto real en fidelidad gráfica. eso realmente importa al definir nuevas experiencias asociadas con una nueva ola de hardware de consola.

¿Como es que Leadbetter en su artículo le pone la tirita antes de hora al hardware futuro en este aspecto? Porque sabe por fuentes fidedignas que la siguiente generacion no va a poder reproducir juegos mejorados de la actual generación a 4K. Una antesala a la siguiente generación es la PS4 Pro y el modo en que muestra gráficos de fidelidad mejorada a 1080P. Pues bien, para mover esos gráficos a «True 4K»se necesitaría…

PS4 Pro PS4 Pro (4K)
TFLOPS (Shaders) 4,20 16,79
Tasa de Texturizado 131 525
Tasa de Relleno 58 233

Pues bien, esos rendimientos a costes que sean razonables para una consola de videojuegos no son viables incluso bajo el proceso 7FF que vamos a ver en los años siguientes. Por el momento el único chip existente bajo el proceso de 7FF es la versión para esta proceso de Vega llamada Vega 20. La actual Vega 10 alcanza los 1247 Mhz de velocidad estandar, es decir, sin picos puntuales ni tampoco sin utilizacion de la refrigeración liquida y por tanto en un entorno térmico más cercano a una consola.¿Como evoluciona eso a los 7nm? Pues… AMD nos ha dado una pista muy importante, a partir de la cual nos podemos hacer una idea de como sería Vega 20.

amd-reveals-7nm-vega-gpu-computex-inline

Mitad de la densidad y un overclock del 35%, el tema de la densidad apenas deja a la CPU y el Northbridge unos 100mm^2 de espacio. Pero tomando como referencia ese aumento en la velocidad de reloj nos podemos hacer una idea cual es el problema actual que tiene AMD.

PS4 Pro PS4 Pro (4K) Vega 10 (estandar) Vega 20 (supuesto)
TFLOPS (Shaders) 4,20 16,79 10,22 13,79
Tasa de Texturizado 131 525 319 431
Tasa de Relleno 58 233 80 108

¿Vamos a ver integrada una GPU de unos 242mm^2 dentro de un SoC? Creo que la pregunta esta mal formulada…¿Cual es la única supuesta especificación que tenemos ahora? La de PS5/Epsilon…

PS5Fake1

Lo tenemos todo en un solo chip, ahora bien… ¿Que es lo más cercano existente a lo qu podría ser el chip de la PS5? El de la recientementemente presentada Z+, la consola esa china cuyo diseño creo que será base para la siguiente generación.

RearIO_575px

Las especificaciones son:

  • 4 núcleos Ryzen a 3 Ghz
  • Una GPU AMD «Vega» con 24 NCUs a 1.2 Ghz de velocidad.

Si el salto segun AMD es de 2X al pasar a los 7FF y con un aumento de la velocidad de reloj del 35% entonces deberíamos esperar en teoria el siguiente salto:

PS4 Pro PS4 Pro (4K) Z+ 2X Z+ + 35%
TFLOPS (Shaders) 4,20 16,79 3,69 9,95
Tasa de Texturizado 131 525 115 311
Tasa de Relleno 58 233 38 207

Principalmente no quiero que os fijéis en la potencia de los shaders sino en las tasas de relleno y de texturizado que son demasiado bajas para el 4K nativo tomando como referencia la PS4 Pro. ¿Y por qué no la PS4? Pues porque esperamos un salto en la calidad visual mínimo de una generación a otra. El problema es que las tasas de relleno y de texturizado como se puede ver no apuntan a que vayan a evolucionar lo esperado para unos 4K nativos sin problemas, incluso alcanzar los 14.2 TFLOPS resulta un desafio pero… ¿Como piensan AMD y Sony paliar ese desafio? Pues…

tenor (18)

Pero mirando las patentes de AMD nos podemos hacer una idea hacía donde puede evolucionar la cosa y uno de los factores clave es la Super-SIMD. Lo comente en este blog y es la nueva NCU relatada en la patente de la Super-SIMD, dicha nueva Compute Unit permite realizar el doble de operaciones por ciclo en cada CU sin tener que duplicar el resto de mecanismos de la GPU como son las unidades de texturas, los RBE, el planificador, las interconexiones entre las diferentes partes de la GPU… Todo esto es crucial en un SoC donde el espacio es ciertamente limitado. Dicho de otra manera, en una configuración con las CUs habituales de AMD para la arquitectura GCN alcanzariamos 1/2 de lo que conseguiriamos…

FIG. 1A

… con la misma configuración utilizando CUs con Super-SIMD.

Esto es esencial porque la cantidad de CUs/NCUs máximas es de 64 e incluso colocar 64 en un SoC a 7FF que sea viable para una consola es un problema, y esto nos permite alcanzar potencias de calculo con una velocidad de reloj mucho más bajas pero no aumenta ni la tasa de relleno ni la tasa de texturizado porque el ratio no aumenta en ese caso y es más, incluso podríamos decir que disminuye en el caso de la tasa de texturizado porque el ratio no aumenta y la velocidad de reloj disminuye.

¿Entonces que sentido tiene la Super-SIMD? Velocidad de reloj de la GPU… Tirando de la más que posible configuración de 48 CUs con unos 14.2 TFLOPS de potencia (de la que me puedo equivocar al 100%) entonces tenemos:

(14,2*10^12)/(48*64*2)= 2311.2 Mhz

Que me avisen cuando una GPU y más bajo arquitectura GCN alcance dichas velocidades de reloj y más en un SoC donde estaría termicamente condicionado por la CPU que tendría al lado… ¿La velocidad de reloj con Super-SIMD? 1155.6 Mhz de velocidad… Algo que si que es viable y que tiene sentido en un SoC para una consola. Ahora bien, comparando ambas posibles versiones nos salen los siguientes números.

PS4 Pro PS4 Pro (4K) Version 1 Version 2
TFLOPS (Shaders) 4,20 16,79 14,20 14,20
Tasa de Texturizado 131 525 444 222
Tasa de Relleno 58 233 148 74

De entrada nos encontramos con dos enormes problemas, el primero es la tasa de relleno producto de que el limite sean los 64 ROPS. ¿La solución que vamos a ver? Esto ya es especulación mia y puede que me equivoque al 100% pero diría que la clave esta en el Operand Destination Cache, para entender el problema de la tasa de relleno hemos de entender cuales son los limites de la arquitectura GCN en cuanto a la tasa de relleno. No podemos pasar de 4 Shader Engines y 4 RBEs por Shader Engine, teniendo cada RBE unos 4 ROPS, es decir 4^3 o 64 ROPS. ¿El problema? PS4 tiene 32 ROPS, PS4 Pro unos 64 ROPS y no podemos superar esa cifra en ningun momento porque los 64 ROPS son el limite de la arquitectura GCN.  ¿Entonces cual va ser la solución? Pues la Destination Operand Cache que es lo mismo el Pixel Local Storage pero con otro nombre.

PixelLocalStoragePixelLocalStorage2

Es decir, los resultados de los Fragment/Pixel Shaders no se envían a los ROPS para que los escriban a memoria sino que son enviados a otra memoria que los puede re-enviar al pipeline de los shaders o en su defecto enviarlo a los ROPS pero es sumamente util para el renderizado en diferido y para evitar el problema con las transparencias, a eso se le llama Out of Order Pixel/Fragment Shader Export por el hecho que los Pixeles finales no son recibidos por los ROPS de manera ordenada y nos permite solventar el problema de los ROPS, por lo que un problema menos a solventar.

Pero nos queda la tasa de texturizado y esta no vamos a poderla solventar de ninguna manera. Y es aquí donde viene el tema del Checkerboard Rendering que nos permite renderizar una escena a la mitad de resolución en pixeles por fotograma por lo que las condiciones se reducen a la mitad.

PS4 Pro PS4 Pro (4K) PS4 Pro (CB) Version 2
TFLOPS (Shaders) 4,20 16,79 8,40 14,20
Tasa de Texturizado 131 525 262 222
Tasa de Relleno 58 233 117 74

Ahora el unico handicap que tenemos es la velocidad de reloj… ¿A que velocidad necesitariamos aumentar la GPU de nuestra configuración (1155.6 Mhz) para que el ratio fuese de 262? Tened en cuenta que el cambio nos permitiria además colocar la GPU a unos 16.79 TFLOPS, algo que en combinación con el uso de resolución en CB nos permitiría tener el doble de operaciones por pixel que los 4K nativos.

(16,79*10^12)/(48*64*2*2)= 1367 Mhz aprox.

No veo inviable dicha velocidad de reloj. ¿Por qué pienso que esta aumentara? Pues por el hecho que el proceso 7FF no ha llegado a su madurez y aún puede aumentar sus limites como ha ocurrido con el resto de los procesos.  Y si, todo este rollo es para dar una explicación logica y razonada por la cual pienso que no vamos a ver un salto 4K nativo de lo visto en PS4 Pro. El otro tema esta en las operaciones por pixel, la PS4 estandar a 1080P30 puede realizar 30.000 operaciones por pixel. En PS4 Pro unos 48.000 y bajo el escenario del que estoy hablando unas 96.000 de media. Es decir, en este escenario para alcanzar la calidad de PS4 Pro bajo 4K CB solo necesitariamos la mitad de la potencia de los shaders de la nueva máquina y se puede hacer una evolución más allá de la de PS4 Pro a nivel visual.

En fin, sigamos con el artículo de Digital Foundry

Con todo esto en mente, mirar las últimas técnicas de ‘upscaling inteligente’ de Sony nos da una valiosa visión de las formas en que los desarrolladores de los juegos de próxima generación todavía pueden ofrecer un salto generacional adecuado sin gastar demasiado en el poder de la GPU en píxeles -emprendedor. Al echar un vistazo a las salidas 4K ofrecidas por Death Stranding, Spider-Man, Ghost of Tsushima y The Last of Us Part 2, está claro que las bases están ahí para garantizar que la próxima generación pueda significar una próxima generación en términos de ese impulso a la calidad visual que realmente queremos ver.

No creo que PS5 sea una PS4 Pro Pro o algo por el estilo, pero pienso que Sony va a pedir como mínimo subir los juegos de PS4 Pro a 1080P con gráficos mejorados a 4K CB en el nuevo sistema y utilizara el resto de la potencia para aumentar la calidad visual. ¿Pero cual es el estandar de mejora visual de los próximos años? Pues por el hecho que Microsoft es quien manda en las APIs de PC y tiene el apoyo del mayor fabricante que es Nvidia el futuro tiene escrito las letras «pipeline híbrido» entre Raytracing y el Rasterizado clásico, algo que AMD no ha podido adoptar aún y lleva una desventaja enorme, algo que ha dejado a Sony en bragas de cara a Epsilon/PS5 que se basa en Navi, pero Navi no va a estar preparada para el Raytracing.

La clave que hemos visto con Turing esta en el RT Core que se encarga de acelarar una parte fundamental del Raytracing y lo hace de manera mucho más eficiente que los shaders.

RTCore

¿Acaso no puede AMD desarrollar una pieza que haga lo mismo? Poder puede y para ser competitiva en PC lo va a acabar haciendo pero necesita hacer unos cambios en las NCU para colocarse al nivel arquitectural de Volta en primer lugar, lo cual deberíamos ver en Navi. Pero el problema es que Navi en estos momentos esta arquitecturalmente cerrada, si añaden algo será a lo que venga posterior a Navi.

gpuroadmap

Por otro lado se ha de entender que el motivo por el cual Sony pudo igualar a Microsoft a nivel de API es porque la API estandar de PC en esa epoca (DX11) llevaba ya unos años en el mercado y AMD había desarrollado una API propietaria llamada Mantle pensada para aprovechar las capacidades adicionales de las GCN que fueron la base para DX12 primero y luego Vulkan. La API aquí es muy importante porque la API GNM de PS4 deriva tambien de Mantle, pero la situación actual es distinta. No existe un Mantle y DirectX Raytracing pese a ser un superset del DX12 no ha sido implementado a nivel de hardware por AMD que sepamos y las especificaciones de PS5/Epsilon por lo visto están cerradas, podemos esperar un aumento en la velocidad de reloj del diseño final o simplemente Sony puede tirar por la borda el diseño que tienen en este momento y esperarse.

Pero los mismos problemas que tiene Sony los tiene tambien Microsoft en Xbox con Scarlett, Microsoft no quiere darle ventaja alguna en tiempo. ¿La gran diferencia? Sony no suele modificar apenás ni añadir elemento a los diseños que les ofrece AMD mientras que Microsoft los ha tuneado añadiendo elementos de manufactura propia en todo este tiempo. Podemos suponer que en Microsoft conociendo la naturaleza y el funcionamiento del DXR al ser ellos los autores conocen las especificaciones para crear  un RT Core para AMD Navi y por tanto para Scarlett, guardandose eso como bala de plata contra Sony y su PS5/Epsilon. ¿Que provocaría esta situación? A no ser que el escenario cambie tendriamos un Xenon vs RSX sin un CBEA por el medio para paliar el handicap de la GPU. Va a dar igual la cantidad de TFLOPS de más o de menos por el simple hecho que la diferencia visual en los juegos se va a notar y los creadores de GIFS se van a divertir de lo lindo cuando llegue el momento.

¿Estoy jugando a la futurología? Un poco si, pero las piezas del tablero en esto momentos están situadas en ese sentido. Microsoft va a utilizar el DXR como bala de plata contra Sony. Spencer ya dijo una vez que su objetivo era tener siempre la consola más potente y hemos llegado a los limites de la rasterización. Colocar potencia de más no va a resultar en una mejora sustancial de la situación si no se aplica un cambio radical y ese cambio radical esta muy claro cual va a ser.

Eso es todo, ya sabéis, podéis comentar aquí o en el Discord del blog.