El equipo detrás de RPCS3 ha anunciado una nueva y emocionante ronda de mejoras pensadas para que la emulación de PlayStation 3 funcione mucho mejor en sistemas ARM64, un trabajo liderado por el colaborador Whatcookie. Este se enfocó en optimizar la forma en que el emulador traduce el código del complejo procesador Cell de la consola original para que los equipos actuales puedan entenderlo de manera más directa, y aunque el emulador ya funcionaba de forma nativa en estas versiones de Linux, macOS y Windows sin necesitar capas de traducción extra, los juegos no se pueden ejecutar directamente porque fueron diseñados para una estructura muy diferente.
Ahora, detallando este gran avance, el equipo ha informado que el nuevo código diseñado por los desarrolladores permite que cientos de juegos de PlayStation 3, como los de la famosa saga Ratchet & Clank, por fin funcionen correctamente y a gran velocidad en equipos ARM como los Mac de Apple, los procesadores Snapdragon X y los próximos NVIDIA RTX Spark, solucionando bloqueos del pasado.
Arreglando fallos del pasado para ganar rendimiento
Los creadores quisieron detallar todo este esfuerzo a través de un largo video que explica el trabajo de estos últimos seis meses usando una consola portátil Odin 2 con Linux como base de pruebas para encontrar frenos inesperados, lo cual los llevó a su primer gran avance al analizar un error histórico en una función conocida como “espera activa”, la cual estaba devorando inútilmente casi la mitad del tiempo de trabajo de la CPU porque el reloj del hardware funcionaba 150 veces más lento de lo esperado, causando que la instrucción normal no generara el ahorro de energía deseado en los componentes.

Para solucionar este grave problema, el programador escaló correctamente los tiempos y cambió la vieja orden por una barrera de sincronización diferente, lo que dio como resultado una mejora masiva del 25% en el rendimiento y una enorme reducción en el consumo eléctrico, permitiendo que de una vez por todas los títulos dejaran de verse limitados por el procesador para pasar a depender de la tarjeta de video.
Detalle que es vital ya que la fluidez final seguirá dependiendo de qué tan buena sea la pantalla o la memoria de tu equipo, pero ahora el programa tiene el camino libre de esos errores que antes rompían los juegos para funcionar sin tantas complicaciones.
Desmintiendo mitos y aprovechando el poder oculto
Una vez solucionados los problemas base, el equipo dirigió su atención a los sistemas de traducción profunda que pasan las órdenes de la consola a instrucciones naturales, un proceso que sirvió para desmentir por completo la idea de que la tecnología ARM es un hardware simple, ya que descubrieron que estos chips modernos tienen una ventaja natural increíble para realizar cálculos de la PlayStation 3 usando una única instrucción nativa.

Mientras tanto pasa aquello, indican que los procesadores tradicionales de PC necesitan secuencias muy largas para lograr exactamente lo mismo a menos que tengan herramientas sumamente costosas. Finalmente, se dedicaron a limpiar los comandos más lentos de la consola, logrando reescribir la traducción de operaciones muy pesadas para reducir el proceso de diez pasos a tan solo cuatro o cinco usando operaciones nativas de mezcla, regalando otro aumento del 8% en la velocidad del emulador
Para cerrar, se indica que concluyeron todo de manera genial al usar de forma muy ingeniosa instrucciones que originalmente fueron diseñadas para inteligencia artificial y criptografía, las cuales sirvieron para copiar las difíciles matemáticas de la recolección de bits de la PS3 con una eficacia que nunca se había visto.
Puedes ver el video donde cuentan todo el proceso (en inglés) a continuación.
Driveclub corre mejor en PC por emulación que en PS5 de forma oficial: el juego llega a 8K en PC mientras PlayStation lo sigue mostrando en 30FPS y resolución original→ SharpEmu y KyTyPS5 avanzan tan rápido que los exclusivos de PS5 que PlayStation nunca llevará a PC, como Demon’s Souls y Marvel’s Wolverine, podrían llegar por emulación→
