Una de las principales quejas de la comunidad del gaming sobre la más reciente versión de Grand Theft Auto Online es el largo tiempo de carga (entre 3 y 6 minutos para iniciar el juego). Recientes encuestas aseguran que algunos usuarios incluso han esperado hasta 15 minutos para iniciar una partida.
Al respecto, un hacker de videojuegos conocido como T0st reveló un hallazgo interesante. Después de volcar la pila de procesos, descubrió dos cuellos de botella que maximizaban un solo subproceso de la CPU: “Se trata de una rutina mal escrita que consiste en analizar de forma ineficaz un archivo JSON de 10 MB que contenía más de 63 mil elementos”, menciona el hacker.
T0st menciona que este archivo JSON contenía elementos que se podían comprar a través de las tiendas del juego (que no deben confundirse con las conocidas como microtransacciones). La rutina lee cada entrada en el archivo y luego la almacena en una matriz. Con cada pasada, vuelve a comprobar toda la matriz en busca de duplicados antes de insertar el nuevo elemento. Como podrán intuir a este punto, este proceso se hace más y más largo a medida que crece la matriz. Como una solución eficaz, el hacker creó una DLL que elimina los dos cuellos de botella.
La primera de estas correcciones almacena en caché las cadenas de gran longitud: “Si se vuelve a llamar dentro del rango de la cadena, devolverá el valor almacenado en caché”, afirma el hacker.
La solución propuesta por T0st elimina las entradas repetidas, por lo que la comprobación de duplicados ya no es necesaria. Por otra parte, la segunda mitad de la DLL simplemente inserta los valores en la matriz, lo que resulta en dos parches simples y efectivos, reduciendo el tiempo de carga en casi dos minutos.
El hacker también menciona que el analizador JSON fue mucho más efectivo, reduciendo la espera a dos minutos y 50 segundos, sin mencionar que la implementación de las dos correcciones en la DLL, mejoró el tiempo de carga en aproximadamente un 70%.
T0st concluye mencionando que los resultados pueden variar según la configuración del equipo, pero las optimizaciones deberían mejorar significativamente las velocidades de carga para cualquier configuración. Para conocer más sobre riesgos de seguridad informática, malware, vulnerabilidades y tecnologías de la información, no dude en ingresar al sitio web del Instituto Internacional de Seguridad Cibernética (IICS).
Trabajando como arquitecto de ciberseguridad, el se enfoca en protección de datos y la seguridad de datos empresariales. Antes de unirse a nosotros, ocupó varios puestos de investigador de ciberseguridad con diferentes empresas. También tiene experiencia en diferentes industrias como finanzas, salud medica y reconocimiento facial.