Grand Theft Auto Online, an insanely popular video game, has frustrated thousands of gamers with its painfully long load times for years. A hacker has now proven that GTA Online can load way faster.
A hacker has released a proof-of-concept DLL fix that shortens the startup time of GTA Online by roughly 70 percent. The hack works but will surely set off the game’s anti-cheat checks.
Why is Grand Theft Auto Online painfully slow to load?
Gamers have always faced frustratingly long load times for Grand Theft Auto Online. The problem is painfully obvious for the PC edition of GTA Online for the better half of the last decade.
Strangely, publisher Take-Two Interactive has continually improved the game and tweaked it for better performance. Moreover, PC hardware has improved significantly in the last five years. However, the load times continue to remain long.
The new variant, that is the GTA Online, is surprisingly slower than the single-player Grand Theft Auto V. Gamers have measured the load times of both the games and almost always, GTA V loads quicker.
— SA Gamer (@sagamersforum) March 2, 2021
A hacker, who goes by the name of T0st, has observed that the game’s internal engine continually parses the in-game shop catalog. He has developed a hacked DLL that nearly eliminates the continual processing by forcing the game engine to simply cache the data once and use it when needed.
The hacker and his team reverse-engineered GTA Online files. They started by profiling their own CPU. The aim was to figure out why the game was maxing out a single CPU thread for over four minutes during loading.
After analyzing the code, it became clear that the in-game engine was parsing a 10MB JSON file with over 63,000 total entries. The JSON file in question appeared to be the “net shop catalog” that describes every single item GTA Online players can purchase with in-game currency.
How to reduce GTA Online game loading time?
T0st and his team cached the entire string length value to speed up those checks. This alone, brought down the game loading time by around 50 percent.
Still, after parsing all this JSON data, GTA Online seems to load it into an array in an extremely inefficient way, concluded T0st. Basically, as the array grew or grows, the game engine was checking the entire array for duplicates.
T0st and his team essentially replaced the tedious and time-consuming process with a hash table that can quickly check for duplicates. As a result, GTA Online in-game engine now caches the information once and then reuses the same the next time the game is loaded.
1) counts every character of a 10MB text file 63k times
2) compares hashed items almost 2 billion times
every. time. it. starts.https://t.co/5R7iKRkCQH
— rx_Hydro (@rx_Hydro) March 1, 2021
Combined, the two fixes reduced the GTA Online game loading time from six minutes to just under two minutes on the test machine. The results may vary on different PCs based on the hardware and configuration.
T0st has offered a detailed guide to building a similar DLL from T0st’s source code. However, fiddling with any core files can raise alarms and set off the game’s anti-cheat checks.
The hacker concludes that publisher Take-Two would need a day or two at max to implement this fix for all players on Rockstar’s side. Needless to add, the publisher hasn’t yet responded.