Blog personal sobre tecnología

Disruptive Ludens

Más allá de Nintendo Switch

Nintendo Switch

Los medios no paran de hablar de una eventual Switch Pro. Cada vez que aparece un rumor de ello o una simple referencia en el firmware no tardan en escribir raudos y veloces acerca de ello. Pero, ¿cuál es la realidad detrás de ello?

Nintendo no necesita una Switch Pro

Lo primero de todo es que solo hace falta ver el buen estado de salud comercial para ver como una Switch Pro no es necesaria en absoluto, ya que la consola de Nintendo no se encuentra en la fase de declive como producto, sino que que aun se encuentra en la fase de crecimiento.

El motivo de ello es bien simple, PS4 y Xbox One son mucho más viejas y han cumplido su ciclo comercial de sobras. Mientras que PS5 y las Xbox Series son lo suficientemente nuevas, caras y poco disponibles.

Todo ello se resume en que Nintendo, al menos de cara a 2021 no tiene ninguna prisa en lanzar una nueva revisión de la Nintendo Switch en forma de consola más potente.

La importancia de NVIDIA

Es difícil hablar de ello desde que desde Game Cube cada nueva consola de Nintendo ha sido orientada en un sentido distinto a la anterior.

En realidad Switch es la última propuesta del fallecido Satoru Iwata. La cual no hubiese salido bien si no fuese por la adopción de Nintendo del Tegra X1 de NVIDIA. Lo cual se hizo mucho después del fallecimiento de Iwata.

Sin el SoC de NVIDIA la consola de Nintendo no sería lo que es y hubiese sido una repetición de hardware de especificaciones paupérrimas como 3DS y Wii U de nuevo.

El problema de la GPU de Switch

Si miramos el mercado de las arquitecturas gráficas para SoCs de bajo consumo, entonces nos podemos encontrar con un patrón muy común:

  • La arquitectura gráfica de los SoC de Apple deriva de los PowerVR que renderizan por tiles.
  • Los Adreno de Qualcomm también renderizan por tiles.
  • Las GPU de las familias ARM Mali también lo hacen por tiles.
  • Solo el Tegra X1 de Nintendo Switch no renderiza por tiles.

La idea del renderizado por tiles es muy sencilla, la imagen en vez de renderizarse de manera completa se hace por pequeñas secciones de la misma. Es decir, se subdivide la imagen y se calcula cada tile de la imagen por separado.

Cada tile tiene un tamaño lo suficientemente pequeño como para que la imagen sea resuelta en una memoria interna de la propia GPU, con ello se evita el tener que hacer accesos continuos a la memoria RAM asignada como RAM de Video o VRAM.

El Tile Caching de NVIDIA

NVIDIA con la arquitectura Maxwell implemento algo que luego también ha implementado AMD en sus GPUs, lo cual es llamado Tile Caching, cuyo funcionamiento parece similar al Tile Rendering, pero no es tan eficiente.

¿El motivo? El Tile Rendering utiliza una memoria aparte para almacenar para calcular el tile.  Dicha memoria es una scratchpad RAM que esta separada de la jerarquía de caches, la cual es controlada por el procesador de comandos de la GPU.

Pero en la solución de NVIDIA, se utilizan la cache L2 de la GPU para ello. Es importante saber que los programas no tienen control sobre el contenido de las caches y si estas necesitan descartar una linea de información lo harán.

Esto lleva a que en el caso de la GPU de Switch, no toda la información se encuentre siempre en el mismo lugar, forzando a la GPU a ir a buscarla a la VRAM.

A mayor distancia, mayor consumo

Cuanto más lejana esta una instrucción de un procesador al dato al que apunta mayor es el consumo energético por la transferencia de datos. Este es el motivo por el cual en el caso de las GPUs para dispositivos de bajo consumo se utiliza el renderizado por tiles.

El problema de la GPU de Nintendo Switch es la poca cantidad de cache L2 que tiene. Lo que lleva a que en la mayoría de veces los datos no se encuentren en la cache L2 por falta de capacidad en esta.

La nueva pantalla

Una de las cosas que son esenciales para el salto visual en una sucesora de Switch es la calidad de imagen. La cual se consigue en un dispositivo como la actual consola de Nintendo cuando se llega a una resolución de 300 píxeles por pulgada de densidad.

  • La actual pantalla de la Nintendo Switch estándar es de 6.2 pulgadas, lo que bajo una resolución de 1280 x 720 píxeles son 236.87 píxeles por pulgada.
  • Switch Lite con su pantalla de 5.5 pulgadas tiene una definición de 267 PPP.

Por lo que ni una consola ni la otra alcanzan los 300 PPP necesarios para que haya un cambio en la calidad de imagen. Lo cual en una pantalla a resolución Full HD se puede conseguir sin problemas con el tamaño de la pantalla de Nintendo Switch.

¿Qué ocurriría si os dijese que el actual objetivo de Nintendo no es hacer una consola más potente sino una Switch Lite un poco más compacta y barata? Lo más seguro es que no me creyeseis en ningún momento, toda la narrativa de los medios se esta moviendo hacía una Switch Pro.

Por lo que sería bueno que borraseis de la mente la premisa de una Nintendo Switch pensada para el 4K como siguiente versión de la exitosa consola de Nintendo.

Nintendo Switch Mini

Se trata de un diseño completamente nuevo de la actual consola de Nintendo.

  • El SoC es una tercera versión del Tegra X1, basado no en el proceso 16FF de TSMC sino en el 12FFC que es un derivado del primero.
  • En cuanto a la memoria RAM, los dos chips de memoria LPDDR4 o LPDDR4 han sido reemplazados por un mismo chip LPDDR5 con la misma capacidad y ancho de banda.
  • Pantalla de 4.8 pulgadas con 1280 x 720 píxeles de resolución.
  • La carcasa de la consola es de plástico, no utiliza una carcasa de magnesio, sino el mismo tipo de carcasa que las Switch Lite actual.
  • El modelo no es un reemplazo de la Switch Lite, sino una tercera iteración.
  • El tamaño de los sticks y los botones son más pequeños que los Switch y Switch Lite.

El objetivo de Nintendo son los niños, ya que esta iteración esta pensada para el mercado infantil. De ahí a que los botones y la pantalla sean más pequeños que el actual modelo Lite.

La sucesora de Nintendo Switch

Después del lanzamiento de la Switch Mini, el siguiente paso para Nintendo será el reemplazo en la gama alta de Switch en forma de una sucesora con mayor capacidad.

El problema actual de Switch no es solo el consumo energético que tiene, sino que incluso ese ancho de banda es insuficiente y la LPDDR5  y la LPDDR5X como mucho prometen duplicar el ancho de banda.

El problema de la LPDDR5X es que pese a funcionar a un voltaje mucho menor no es una gran diferencia respecto a la LPDDR4 en cuanto a consumo.

Los anchos de banda necesarios para que la consola renderice a 1080p con una calidad de imagen como la de Xbox One y PS4 hacen que un sistema basado en LPDDR5X no sea viable bajo los consumos asignados a Switch.

¿La única solución para Nintendo? Paliar de alguna manera este problema, el cual se puede solucionar de la siguiente manera:

  • Más cantidad de Cache L2 de la GPU.
  • Implementar una Cache L3 como Victim Cache.
  • Añadir memoria embebida en forma de SRAM. Lo cual es inviable su uso en el caso de resoluciones a 4K.

La única solución para Nintendo es adoptar un SoC para la sucesora de Switch que este pensado para funcionar como un renderizador por tiles.

Esto se traduce en que Nintendo no solo tiene a NVIDIA encima de la mesa. Sino que hay un posible socio que en estos momentos esta mejor situado. Dicho participante es Qualcomm con sus Snapdragon.

De ser al final Qualcomm la escogida entonces la sucesora de Switch no será compatible hacía atrás con la actual consola. Ni en juegos ni en librerías de desarrollo.

¿NVIDIA descartada?

NVIDIA se ha negado a hacer un SoC a medida para Nintendo, sus Tegra Orin son para el mercado automovilístico y tienen una enorme cantidad de elementos que no sirven para una portátil.

El otro problema es el alto precio que cobra NVIDIA por cada SoC producido. Nintendo escogió el X1 porque era el mejor para Switch, pero la situación ha cambiado.

PD: Este será el ultimo post de la sucesora de Nintendo Switch que haré durante un largo tiempo.