Una de las tendencias más comunes por influencia de las consolas de videojuegos son las remasterizaciones de títulos antiguos. Normalmente creadas para una consola superior técnicamente y, por tanto, de una generación posterior. Pues bien, muchas de ellas llegan al PC también y se usan para optimizar los juegos a los nuevos sistemas que tienen los usuarios en sus casas.
Ninguna aplicación usa el 100% de lo que puede dar nuestro hardware, por lo que cuando hablamos de realizar una optimización estamos hablando de que vamos a aumentar la cantidad de recursos que se utilizan con tal de conseguir un resultado mejor a ojos del usuario. En el caso de un juego pueden ser conseguir una mayor calidad visual y una mayor tasa de frames. Sin embargo, esto supone no solamente cambios estéticos, sino también en el propio código con tal de conseguir acercarnos más a ese 100%.
Hay muchos juegos mal optimizados en PC
El principal motivo por el cual los juegos deberían tener una optimización cada cierta cantidad de años no es solo para hacer que estos se vean más bonitos y puestos al día, sino por el hecho que se ha de optimizar su código, especialmente por el hecho que cuando aparecieron muchos títulos buena parte de las características que hoy en día damos como ya dadas eran por aquel entonces novedad o faltaban años para que aparecieran.
Esto es especialmente cierto en los títulos lanzados durante la era de DirectX 9, donde tener una CPU de dos núcleos era la norma y si tenías una de cuatro eras privilegiado. Solo hace falta pasar por una buena parte de la colección de clásicos en Steam lanzados por dicha época y comprobar tras ejecutarlos en tu PC más moderno la forma en la que el propio juego distribuye sus procesos por los núcleos de la CPU es cuanto menos ineficiente. ¿El motivo? Nadie tenía sistemas con 6 u 8 núcleos por aquel entonces y optimizar un juego para algo que no existe es una pérdida de tiempo.
¿Por qué optimizar los juegos para más núcleos da más rendimiento?
Para ello tenemos que entender la Ley de Amdahl, la cual nos marca el nivel de mejora que puede tener un programa si se paraleliza su trabajo, lo cual no es otra cosa que aplicar la división del trabajo y hacer que los diferentes procesos que forman parte de una aplicación se repartan entre los diferentes hilos de ejecución y núcleos del procesador. Por lo que al final en vez de tener una parte muy estresada de la CPU tendremos varias que lo estarán poco.
Al final esto se traduce en que el juego, o cualquier otra aplicación, puede resolver sus tareas más rápidamente. El caso es que es crucial para conseguir una mayor tasa de frames por segundo al reducir el tiempo que dedica la CPU a preparar cada fotograma. Claro está que si hablamos de títulos muy antiguos esto supone tocar el código fuente del juego para que así escalen mucho mejor con los sistemas más modernos que tiene la gente en casa.
En la actualidad, la API más usada en juegos es DirectX 12, está en vez de generar una sola lista de pantalla o de comandos desde el procesador para enviarla a la tarjeta gráfica lo que hace es crear varias usando varios núcleos del procesador. Se trata de una de las formas más comunes para optimizar juegos antiguos más comunes. Especialmente cuando se realiza una conversión del remaster de turno al PC.