Yuzu para Android copiará a Skyline para mejorar su rendimiento exponencialmente

El rendimiento de yuzu va a mejorar a lo grande.

Los emuladores de Nintendo Switch para Android continúan progresando en su desarrollo, y a pesar de que los avances no son tan rápidos como seguramente nos gustaría a los ansiosos jugadores, lo cierto es que poco a poco van lanzando actualizaciones que mejoran el rendimiento cada vez.

Es el caso de yuzu, que desde su lanzamiento ya ha recibido unas cuantas actualizaciones, siendo capaz de ejecutar ya juegos de última hornada como Red Dead Redemption. Pero la noticia ahora es que los desarrolladores de yuzu para Android tienen un plan para mejorar exponencialmente su rendimiento, y ese plan pasa por copiar una característica de Skyline, el emulador de Switch que fue descontinuado.

Yuzu copiará a Skyline para mejorar el rendimiento

Una de las grandes características de Skyline, y motivo principal por el que el emulador sigue siendo una gran opción a pesar de que lleve meses sin actualizarse, es que no necesita emular la CPU de Nintendo Switch, ya que utiliza un sistema llamado NCE (Native Core Executin o Ejecución nativa del núcleo en español). Esto es posible porque la arquitectura del procesador de Nintendo Switch es ARM64 (es un NVIDIA Tegra X1), que es la misma arquitectura que encontramos en los procesadores móviles actuales.

Como Skyline fue directamente desarrollado para dispositivos móviles y no para ordenadores, aprovecharon esta característica en común para ahorrarse la emulación de la CPU, de forma que lo único que emula Skyline es la GPU de la consola. Esto se traduce en un uso mucho más eficiente de los recursos y la potencia del móvil, y por tanto, en un mayor rendimiento.

¿Cuál es el problema con yuzu?

Al contrario, yuzu sí necesita emular la CPU, e incluso lo hace por partida doble, con el consecuente consumo de recursos. Yuzu fue desarrollado pensando en arquitecturas AMD64 (x86-64), es decir, para ordenadores. Lo que hace es traducir las instrucciones ARM nativas de la Switch para que sean compatibles con las arquitecturas AMD64, y para ello usa Dynarmic, un recompilador Just in Time (JIT) dinámico para ARM que también usan otros proyectos como Citra (emulador de Nintendo 3DS de los mismos creadores de yuzu), Vita3K, emulador de PS Vita para Android o touchHLE, el emulador de iOS que se acaba de lanzar en Android.

Cuando Dynarmic ganó soporte para arquitecturas ARM64, los desarrolladores de yuzu decidieron testearlo en los procesadores M1 y M2 de los Macbook, de arquitectura ARM64, y vieron que el rendimiento era muy bueno, por lo que llegaron a la conclusión de que también lo sería en dispositivos Android. Por ello, crearon el port para Android conservando el mismo método, la traducción entre arquitecturas mediante JIT.

Sin embargo, lo que no tuvieron en cuenta fueron las limitaciones térmicas de los móviles Android, algo que los que solemos jugar con frecuencia con ellos hemos sufrido alguna vez: el temido thermal throttling. Esto hace que todo ese proceso de traducción de instrucciones sobrecaliente los procesadores de nuestros móviles, por lo que el rendimiento se ve muy resentido, algo que inevitablemente se apreciará en los FPS a los que se ejecutan los juegos.

La solución que proponen

Como decíamos al principio, la solución que llevará a cabo el equipo de yuzu será copiar su brillante idea de ejecutar el código de la CPU de la Nintendo Switch de forma nativa en arquitecturas ARM64. Gracias a esto, se evitará el sobrecalentamiento de la CPU del móvil, ya que no tendrá que usarse para emular otra CPU, por lo que el rendimiento mejorará en gran medida.

Tal y como comenta el usuario de Discord GoldenX86_64, que trabaja en el proyecto yuzu, esto no será tan sencillo como podría parecer sobre el papel, ya que existen algunas diferencias de hardware entre la CPU de la Nintendo Switch y la que usan nuestros móviles. Por tanto, hay mucho trabajo por delante.

Sea como sea, lo que está claro es que el equipo de yuzu sabe cuál es la solución para que su emulador rinda mucho mejor en dispositivos móviles, por lo que son grandes noticias. Ahora, solo queda esperar a que desarrollen ese proyecto y lo lancen en forma de actualización.

Mientras tanto, podemos seguir jugando a Nintendo Switch en Android con las versiones actuales de yuzu y también con Skyline Edge v69, que es una de las últimas versiones que nos dejaron los desarrolladores del proyecto. Por último, recordamos que también está en pleno desarrollo Strato, un nuevo emulador de Switch que utilizará las propias bases de Skyline, por lo que puede que en no mucho tiempo tengamos una gran competencia entre yuzu y Strato. Son buenos tiempos para la emulación en Android.