Una de las novedades de la nueva generación de consolas es la retrocompatibilidad de PS5 y Xbox, lo que significa que podemos jugar sin problemas a los juegos de sus antecesoras y además con mejoras visuales como son una mayor resolución y una mayor tasa de fotogramas por segundo. ¿Cómo es posible esta característica a nivel de hardware? Os lo explicamos.
No hemos de olvidar el ciclo de vida de un producto, por lo que cuando la velocidad de venta empieza a disminuir considerablemente se acaba lanzando uno de mayores capacidades para reemplazarlo. En el caso de las consolas de videojuegos esto se llama generaciones de consolas y no siempre el producto de una marca que reemplaza al anterior es compatible hacia atrás en el sentido de poder utilizar sus juegos.
Tradicionalmente, la solución era incentivar la compra de un nuevo hardware, el cual era arquitecturalmente distinto al anterior. Si el usuario quería seguir jugando a juegos del sistema anterior lo tenía que conservar o rezar por algún tipo de compatibilidad con la generación anterior, ya sea a través de hardware y, por tanto, añadiendo una versión reducida en tamaño de la consola anterior, o a través de algún emulador, lo cual es menos eficiente.
Con la llegada de la generación de PS5 y Xbox Series nos encontramos en una forma distinta de plantear la compatibilidad hacia atrás. Todo gracias al uso de hardware de AMD para PC para construir la nueva generación de consola, punto en común con la anterior.
¿Cómo funciona la retrocompatibilidad en PS5 y Xbox?
Si preguntáis a cualquier usuario novel os dirá que es porque son PC y en dicha plataforma existe la compatibilidad hacia adelante. No obstante en consolas las cosas son mucho más complejas y el motivo principal tiene que ver con la API gráfica utilizada. No olvidemos que en PC tiene que existir un intérprete del código shader que compila entre el motor, SO y driver para nuestro modelo de tarjeta gráfica. En consolas como todas las de una marca tienen una misma GPU entonces el código se encuentra precompilado en los archivos de instalación del juego.
Esto ha llevado a que AMD haya diseñado las arquitecturas RDNA para ser compatibles hacia atrás con las GCN, pero incluso dentro de dicha familia no todos los sets de instrucciones son iguales. Por lo que en el diseño de los nuevos chips se han visto obligados a reimplementar las instrucciones de sus antecesoras dentro de la ISA de sus GPU con tal de que funcione. Así pues, en la retrocompatibilidad de PS5 y Xbox no nos encontramos con una GPU del tipo RDNA 2 para PC que ha sido añadida en la APU de cada una de las consolas tal cual, sino que esta ha sido optimizada en cuanto a su set de registros e instrucciones.
Todo ello es para que puedan ejecutar los shaders precompilados sin problemas en un hardware más potente, lo cual, nos permite poder ejecutar los juegos con mayor potencia gráfica, más resolución y fotogramas por segundo que en la generación anterior.
La importancia de la CPU
Si hablamos de la CPU, esta no tiene más problemas y en este caso sí que se aplica la compatibilidad hacia adelante. SONY o Microsoft incluso podrían incluir un núcleo Zen más potente y solo ganarían rendimiento. En cuanto a la retrocompatibilidad de PS5 y Xbox Series esto ha sido clave. Dado que esto permite ejecutar de manera nativa y sin tener que emularlo el código de PS4 y Xbox One sin emulación y mucho más rápido.
¿Cómo de rápido? Pues teniendo en cuenta que hablamos de más del doble de la velocidad de reloj y un rendimiento por ciclo de ídem que es el doble estamos hablando de una potencia cuatro veces superior. Esto se traduce en que el tiempo que toma la CPU en calcular su parte correspondiente a cada fotograma.
El hardware especializado
La retrocompatibilidad de PS5 y Xbox también requiere que se vuelvan a implementar aceleradores y unidades de dominio específico que se encontraban en la anterior generación y si bien han sido reemplazadas por hardware mucho mejor realizando la misma función, este no es del todo compatible con el código antiguo.
Así pues, para asegurarse que todo funcione sin problemas también se han añadido todas esas piezas de hardware que aunque desfasadas de no existir se tendrían que emular. Esto último provocaría un impacto en el rendimiento de la retrocompatibilidad. Además, son piezas de tamaño muy pequeño, cuya implementación es de unos céntimos en el SoC y en general consumen muy poco. Muchas de ellas, por cierto, las desconocemos, ya que efectúan tareas no visibles para el programador y no están ni documentadas en los kits de desarrollo de ambas consolas.
Pese a todos los esfuerzos hay excepciones, pero estas se suelen dar por usos «no legítimos» del hardware, un fenómeno que se da cuando una aplicación está mal programada según las normas lógicas para desarrollar programas, pero que aun así funcionan en la máquina original, pero provoca que no lo hagan en la siguiente.