A hacker named T0st says he discovered a core issue that caused loading times longer than necessary in Grand Theft Auto Online for years. The hacker released a proof-of-concept DLL fix that reduces those long startup times by about 70 percent.
Grand Theft Auto Online’s PC load times have been a persistent problem for seven years, and despite general improvements in hardware and the game’s status as a continued lucrative source of income for publisher Take Two. An anonymous Reddit poll last year found that around half of players waited three to six minutes for the game to load, and around 35 percent of players waited even longer for each session to start.
This isn’t a scientific study or anything like that, but even taking into account self-selection and reporting issues, these load times are very long, especially for such an old game. The problem is even harder to understand when the single player Grand Theft Auto V loads many times faster.
For example, the special function used to parse the JSON string (sscanf in this case) apparently performed a time-consuming strlen check repeatedly after reading for each data item. Simply caching this value for the string length in order to speed up these checks alone led to a reduction in loading times of more than 50 percent, writes T0st.
After parsing all of this JSON data, it appears that GTA Online is extremely inefficient in loading it into an array and checking the entire array for duplicates as it grows. This isn’t scientific research or anything like that, but even taking into account self-selection and reporting issues, these load times are very long, especially for such an old game. The problem is even harder to understand when the single player Grand Theft Auto V loads many times faster.
Combined with these two fixes, T0st says that GTA Online load time dropped from six minutes to just under two minutes on the test machine. Those interested in replicating the results can build a similar DLL from T0st’s source code. However, players should do so at their own risk as such changes can easily (and incorrectly) trigger the game’s anti-cheat controls.
Meanwhile, T0st writes that the implementation of this fix for all players on Rockstar’s side “shouldn’t take more than a day for a single developer to fix the update”. Let’s hope that the renewed attention this issue receives leads Rockstar to do it as soon as possible.