Reducen el tiempo de carga de GTA V en un 70%, ¿qué ha hecho mal Rockstar?

Reducen el tiempo de carga de GTA V en un 70%, ¿qué ha hecho mal Rockstar?

Rodrigo Alonso

El tiempo de carga de GTA V Online es muy, muy largo, independientemente de lo rápido o potente que sea tu PC. El mundo del juego es grande, complejo y se actualiza constantemente pero, ¿debería eso significar que el tiempo de carga debe ser tan largo a pesar de que hablamos de un juego que tiene ya casi seis años en PC?

Este fin de semana un programador llamado T0ST descubrió una manera de acortar el tiempo de carga de GTA Online en casi un 70%, reduciendo el tiempo que tenemos que esperar para entrar al juego de exactamente seis minutos a 1 minuto y 50 segundos. Esto lo ha logrado utilizando un PC bastante antiguo, con un procesador AMD FX-8350 y almacenamiento SSD, poniendo en evidencia que Rockstar no ha hecho bien su trabajo.

El problema del tiempo de carga en GTA V

GTA V Online tiene ya casi seis años pero aun así recibe actualizaciones constantes, y para la nueva versión de próxima generación en PlayStation 5 y Xbox Series X Rockstar debería buscar formas de hacer que el tiempo de carga del juego sea mucho más rápido para hacer mejor uso del hardware disponible. Esto, de hecho, es cierto tanto para PC como para consolas.

rebajas de Steam

El resumen breve del problema es que GTA V tiene un cuello de botella de CPU de un solo subproceso, y lucha por trabajar a través de un archivo JSON de 10 MB y luego pierde el tiempo con un sistema de verificación de datos extremadamente lento que el programador T0ST afirma que es inútil.

Dado que el FX-8350 de AMD es un procesador muy poco potente para los estándares actuales y ofrece un rendimiento de subproceso único deficiente en comparación con los procesadores de Intel de esa época, los problemas de T0ST son menos frecuentes en los sistemas más modernos. Dicho esto, el rendimiento mejorado de un solo subproceso en CPUs modernas aún necesitará perder mucho tiempo en estos mismos procesos, lo que hace que las correcciones de T0ST sean muy valiosas para Rockstar en sus próximos esfuerzos para GTA V Online.

El primero de los problemas de GTA Online es que tiene dificultades para trabajar con un archivo JSON de 10 MB que contiene unos 63.000 elementos. Curiosamente, GTA V lee este archivo 63.000 veces durante el tiempo de carga, lo que resulta en una gran cantidad de tiempo perdido. Si bien cada lectura es muy rápida, hojear el archivo 63.000 veces suma una gran cantidad de ciclos de CPU desperdiciados y crea tiempos de carga más largos de lo necesario.

El segundo problema de GTA Online es que el juego también verifica sus cálculos en busca de valores repetidos, aunque la lista JSON no los contiene. Dado que la lista tiene 63.000 valores, T0ST cree que GTA Online necesita realizar 1.984.531.500 verificaciones cruzadas, todas las cuales inútiles. Todas las entradas de ese archivo son únicas, lo que elimina por completo la necesidad de esta verificación cruzada.

Para reducir el tiempo de carga de GTA Online en casi un 70%, T0ST creó dos correcciones que mitigan estos problemas, los cuales afirma que deberían ser considerados por Rockstar. Dado que GTA 5 tiene más de 100.000 jugadores simultáneos en Steam a diario, los beneficios de ahorro de tiempo serían ingentes. Si 100.000 jugadores pudieran cargar el juego en 1 minuto, el ahorro de tiempo sería de 69,4 días.

La solución al problema

La solución de T0ST consta de dos partes, ambas descritas en su blog. El primero es un bypass de la verificación de duplicación del juego, eliminando esta innecesaria tarea. Solo con esto ya se consigue reducir el tiempo de carga en un 30% aproximadamente.

La segunda solución es un parche para el analizador JSON del juego, que almacena en caché el inicio y la longitud del archivo JSON. Este cambio permite que GTA Online lea el archivo una vez y ver la respuesta en caché sin necesidad de volver a leer el archivo, de manera que en lugar de leer el archivo 63.000 veces, lo lee una sola vez y lo almacena en caché. Esta corrección redujo el tiempo de carga de GTA V de seis a dos minutos y 50 segundos.

Cuando se combinan ambas soluciones, los tiempos de carga se redujeron de seis minutos a un minuto y cincuenta segundos, y eso teniendo en cuenta que el PC utilizado está lejos de ser rápido y moderno, por lo que en un PC gaming actual podríamos hablar probablemente de cargar el juego en apenas medio minuto. El código para estas correcciones está disponible en Github, aunque los jugadores de GTA Online no deberían utilizarlo ya que el sistema anti trampas podría verlo como una trampa. Es por esto precisamente que Rockstar debería implementar estos cambios por sí misma.

Rockstar, por favor arregla tu juego

GTA Online sigue siendo increíblemente popular tanto en PC como en consolas a pesar de que tiene ya seis años de edad, y T0ST afirma que sus correcciones podrían ser implementadas por un solo desarrollador de Rockstar en un solo día, por lo que el esfuerzo sería mínimo sobre todo teniendo en cuenta los beneficios. Con esto en mente, Rockstar debería considerar la implementación de esta solución como algo obvio.

Los tiempos de carga más cortos a buen seguro atraerán a más jugadores de PC a volver a jugar, y los jugadores existentes se beneficiarán de un tiempo de carga mucho más corto y, por ello, más tiempo de juego real.

Si estas correcciones se pueden llevar también a consola, y muy especialmente a las de nueva generación, el ahorro de tiempo humano combinando estas correcciones sería todavía más considerable. Los tiempos de carga más rápidos para la nueva versión en consolas next-gen sería, desde luego, una gran mejora para todos.