¿Qué es el 'modo boost' de Nintendo Switch y cómo funciona?
Probamos a fondo su efecto en MK11, Breath of the Wild y Super Mario Odyssey.
Empecemos este artículo yendo directos al grano: Switch, efectivamente, está evolucionando y en determinados escenarios el hardware de Nintendo se está convirtiendo en algo más potente de lo que era en su lanzamiento original. Las noticias publicadas recientemente sobre una especie de "modo boost" en la consola híbrida quizás no sean del todo precisas, pero tras investigar a fondo tres lanzamientos recientes podemos confirmar que Nintendo está overclockeando de forma selectiva su hardware o, para ser más exactos, ofreciendo nuevas opciones a los desarrolladores para aumentar el rendimiento en el modo portátil, al mismo tiempo que se ajusta la gestión térmica y la velocidad de la CPU para mejorar los tiempos de carga.
Allá por diciembre de 2016, en Digital Foundry ya desvelamos la configuración de velocidades de reloj que Nintendo había definido para Switch, y esto generaba cierta preocupación. Las especificaciones del procesador X1 eran bien conocidas tras su debut en 2015 con la Shield de Nvidia, y estaba claro que el fabricante japonés estaba adoptando una posición bastante conservadora con su configuración. La velocidad de reloj de la CPU se estaba limitando a tan solo 1020MHz, mientras que la frecuencia de la GPU se quedaba en 768MHz, cifras significativamente inferiores a las que usaba el mismo chip en la Nvidia Shield. La situación era todavía más preocupante en el modo portátil de Switch, donde la GPU funcionaba a tan solo 307.2MHz - aunque poco antes del lanzamiento Nintendo añadió un modo a 384MHz.
La situación ha cambiado recientemente, con la disponibilidad de más opciones para los desarrolladores. En determinadas circunstancias la CPU de Switch puede aumentar ahora temporalmente su velocidad hasta 1785MHz, mientras que en el modo portátil The Legend of Zelda: Breath of the Wild, Super Mario Odyssey y Mortal Kombat 11 aumentan la velocidad de reloj de la GPU hasta 460MHz, un 20% más que el modo a 384MHz y un 50% más que la opción original a 307.2MHz. Además, hay pruebas que apuntan al hecho de que algunos títulos pueden tener acceso a un modo de frecuencia variable en la GPU que se ajusta en función de la carga.
En realidad Mario y Zelda aprovechan estas dos mejoras al mismo tiempo, y vale la pena explicar especialmente cómo funciona la mejora en la CPU. Básicamente se usa exclusivamente para mejorar los tiempos de carga. Dos elementos definen lo larga - o corta - que es una carga: el rendimiento del almacenamiento a la hora de mandar los datos a la memoria y la velocidad de la CPU al descomprimir los datos que recibe el sistema (el espacio de almacenamiento es bastante limitado, así que los datos se comprimen para ahorrar espacio). Usando una Switch con un software de administración y monitorización de frecuencias (SysClk) pude ver como Mario y Zelda se cargaban con una velocidad en la CPU de 1785MHz, para luego reducir esta cifra a los 1020MHz estándar una vez había terminado la carga.
Aumentar la frecuencia de la CPU un 75% es una mejora extrema, pero la verdad es que subir la velocidad de reloj hasta 1785MHz únicamente en las cargas es una decisión muy inspirada. El componente que consume más energía en el procesador Tegra X1 es, sin duda, el hardware gráfico Maxwell, pero normalmente durante las cargas el grado de utilización de la GPU es casi negligible. La exigencia en términos de consumo de batería y gestión térmica es baja en dicho momento, con lo cual se abre la posibilidad de aumentar temporalmente la velocidad de reloj de la CPU hasta su frecuencia máxima. La carga de Super Mario Odyssey tardaba veintiocho segundos antes de instalar el último parche (y en dicha versión puedo confirmar que la CPU funcionaba a 1020MHz), mientras que con la última actualización, en la que se usa el modo 'boost', la carga se reduce hasta veinte segundos, un 29% menos. El ajuste dinámico de la CPU se extiende también a las cargas in-game, pero aquí solo se aprecia una mejora de uno o dos segundos respecto al código anterior.
Es un truco muy bien pensado y no hay razón por la cual no vayamos a ver esta mejora en los tiempos de carga gracias a la CPU implementada en más juegos, tanto first party como third party. Las pruebas sugieren que Nintendo ha empezado a experimentar con el incremento en las velocidades de reloj en sus propios juegos, antes de ofrecer la opción a los desarrolladores externos, con una mejora del 20% en las frecuencias de la GPU en el modo portátil. The Legend of Zelda: Breath of the Wild y Super Mario Odyssey parecen ser los primeros en recibir el aumento hasta 460MHz en el modo portátil, mientras que el Mortal Kombat 11 de NetherRealm ha sido el primer título third party en tener acceso a este nuevo modo.
Con una Switch modificada, la herramienta SysClk también permite a los usuarios aumentar o incluso reducir la velocidad de su hardware. Lógicamente este tipo de modificación conlleva el riesgo de que tu consola sea baneada de los servicios online de Nintendo, con lo cual no es algo que recomendemos al usuario de a pie. Pero para nosotros era la única forma de confirmar de forma inequívoca los cambios que Nintendo está haciendo a las velocidades de reloj y, por ende, al rendimiento. Y en el caso de Mortal Kombat 11 - que puede caer por debajo de los 60FPS en ciertos niveles - SysClk nos permite forzar la Switch para mover el juego con los modos móviles inferiores y menos potentes.
Utilizando una repetición - para igualar las condiciones en todas las pruebas - como muestra, los resultados son fascinantes. Al funcionar a 384MHz el rendimiento es por lo general menos estable, pero tengo la sensación de que este es el modo que se tenía en mente a la hora de diseñar la configuración portátil de Mortal Kombat 11. Con la nueva opción a 460MHz los desarrolladores logran un rendimiento mucho más fluido y una mejor calidad gráfica gracias a que la tecnología de escalado dinámico de resolución aprovecha los recursos extra de la GPU. Como cabía esperar al haber una reducción del 50% en la frecuencia de la GPU, el rendimiento colapsa cuando fuerzas el juego a usar el modo a 307.2MHz. Es razonable asumir que esa consistencia adicional en la resolución y el rendimiento también benefician a Zelda y Mario, puesto que ambos utilizan DRS y podían sufrir caídas en el frame-rate cuando los probamos en su lanzamiento.
Modo Dock | Modo Portátil #1 | Modo Portátil #2 | Modo Portátil #3 | Modo 'Boost' para las cargas | |
---|---|---|---|---|---|
Velocidad de la CPU | 1020MHz | 1020MHz | 1020MHz | 1020MHz | 1785MHz |
Velocidad de la GPU | 768MHz | 307.2MHz | 384MHz | 460MHz | Depende del juego/modo |
Velocidad del EMC | 1600MHz | 1331MHz | 1331MHz | 1331MHz | Depende del juego/modo |
Hay un par de curiosidades más en los juegos que probé, en concreto en los interesantes ports desarrollados por Panic Button de Doom (2016) y Wolfenstein 2: The New Colossus. Ambos títulos recurren a escalado dinámico de resolución y anti-aliasing temporal para extraer el máximo rendimiento posible de la GPU. SysClk nos detalla que la velocidad de la GPU se ajusta dinámicamente mientras juegas, cambiando entre 307.2MHz, 384MHz y 460MHz rápidamente. En un tramo de una partida de Doom de seis minutos SysClk contó hasta veintiocho cambios en la velocidad de la GPU, algo que seguramente lleva tiempo ocurriendo.
SysClk también nos permite probar otros posibles vectores de overclocking que quizás Nintendo explore en un futuro. Parece que hay un modo de velocidad oficial a 1224MHz, aunque todavía no lo hemos visto aplicado en ningún juego y puede ser que simplemente exista como solución para que los desarrolladores tengan algo más de potencia disponible en la CPU para el uso de herramientas de depuración. Si Nintendo puede aumentar un 20% la velocidad de la GPU para mejorar el rendimiento, no veo razón por la cual los juegos que se ven limitados por la CPU no puedan usar este modo a 1224MHz mientras mantienen estáticas las frecuencias de la GPU.
También me resulta intrigante el hecho de que Nintendo tenga la posibilidad de aumentar el ancho de banda de la memoria en el modo portátil. El EMC (controlador embebido de memoria) funciona a 1600MHz en el modo dock, bajando hasta 1331MHz cuando juegas en modo portátil. Este componente se puede bloquear a 1600MHz en el modo portátil con SysClk y el efecto en la batería es muy pequeño, con la ventaja de que en ciertas circunstancias puede mejorar el rendimiento de los juegos. Por ejemplo, sabemos que los tirones que sufrimos en el bosque Korok de Breath of the Wild al jugar en modo portátil mejoran significativamente al jugar en modo dock gracias al incremento en el ancho de banda de la memoria, porque el resto de velocidades son las normales.
En lo que respecta a cuando se juega conectado al dock, la GPU Maxwell del Tegra X1 puede funcionar a 921MHz, otro 20% adicional respecto a la especificación estándar. En el pasado ha habido noticias sobre consolas Switch que se doblaban un poco en el dock, presumiblemente debido a problemas de calentamiento, con lo cual dudo que este modo se desbloquee... al menos en la Switch que tenemos a día de hoy. Ha habido rumores acerca de una supuesta "Switch Pro" que ofrecería rendimiento mejorado, y al mismo tiempo los dumps del firmware han desvelado que Nintendo trabaja en una revisión del procesador de Switch, el cual tendría el nombre clave 'Mariko'. Podría ser una versión mejorada del actual Tegra X1 'Logan' y que potencialmente abriese las puertas a un funcionamiento más eficiente y fresco, algo necesario para aumentar las frecuencias de la CPU y la GPU.
Sea como fuere, lo que ya podemos confirmar es que las noticias de estos últimos días sobre un modo boost en Switch son correctas, pese a que su funcionamiento es distinto al del modo boost de PlayStation 4 Pro. En la consola de Sony es el usuario el que decide si usar o no la potencia extra en la CPU y la GPU, mientras que en la de Nintendo esta decisión recae totalmente en los desarrolladores. El overclocking selectivo de la CPU hasta 1785MHz ayuda a mejorar los tiempos de carga, pero es posible que un modo a 1224MHz esté disponible más adelante para los juegos que lo necesiten. Mientras, una mejora del 20% en la velocidad de la GPU ofrece beneficios evidentes en las experiencias portátiles más exigentes. Años después del lanzamiento Nintendo ha llevado más allá de sus límites existentes al hardware de Switch para ofrecer más rendimiento, y será fascinante ver qué es lo siguiente que hacen en este sentido.
Traducción por Josep Maria Sempere.