Un programador identifica un aparente cuello de botella en las cargas de GTA V y su modo online.
Inicias tu ordenador. Abres el cliente de tu preferencia, y te dispones a ejecutar GTA Online y, mientras se inicia el juego, aprovechas para ir a por un aperitivo. Al volver, todo sigue igual: continúas en una pantalla de carga, y no parece que avance. Vale, puede que los tiempos de carga de GTA Online no sean tan exagerados como los de la era del Spectrum, pero es cierto que, dependiendo del ordenador, hay gente que se encuentra con esperas de varios minutos tan solo para iniciar este modo, y eso que hablamos de un juego con 8 años de edad. Pues bien, un modder afirma que puede reducir esas cargas hasta en un 70%.
Compartido por PC Gamer, un programador conocido como Tostercx ha dado con la manera de reducir los tiempos de carga de GTA Online de manera notable. Según explica este , el cual experimentaba esperas de hasta 6 minutos tan solo para iniciar el modo, la lentitud se debe principalmente a un código obsoleto y poco optimizado, algo previsible de un juego que lleva tanto tiempo en activo, y que nunca para de sumar contenido. Al parecer, GTA Online posee un archivo JSON de 10 MB que contiene todos los objetos y mejoras adquiribles en el juego, con un total de más de 63.000 elementos incluidos.
El problema es que, cada vez que el juego encuentra un elemento concreto de la lista, vuelve a hacer una comprobación de todos sus elementos, y así otra vez, y otra… Lo que lleva a Tostercx a estimar que el juego realiza cerca de 1.984.531.500 comprobaciones de la lista completa durante la carga. Si bien eso supone un problema de rendimiento importante por sí solo, lo peor de todo es que GTA Online realiza la carga completa del juego en un único hilo de ejecución, creando así un cuello de botella que ralentiza toda la tarea.
Rockstar podría solucionarlo en un día, afirma este modder
Con varios ajustes al código, este programador afirma haber reducido sus cargas hasta 1 minuto y 50 segundos, una mejora del 69,4% en su caso. Para aquellos interesados en hacer lo mismo, Tostercx ha publicado un repositorio de GitHub con todos los archivos modificados, listos para ser compilados con Visual Studio e inyectados como archivo DLL al juego. Por supuesto, hablamos de ejecutar código ajeno no verificado en nuestras máquinas, por lo que es recomendable no instalar nada salvo que sepáis lo que estáis haciendo.
Dada la aparente sencillez del problema, y el hecho de que ya esté identificado, Tostercx afirma que "resolverlo no le debería de llevar más de un día a un único desarrollador", e incluso ofrece algunas sugerencias a Rockstar sobre cómo reducir los tiempos de carga en su juego. Veremos si el estudio pone énfasis en las cargas de cara a ese ha vendido más de 140 millones de juegos, y no para.