GTA 5 Online’s absolutely monstrous load times have, at this point, become a meme. Firing up the multiplayer version of the game comes with serious questions. "How long, realistically, do I have left to live, and do I really want to spend 80% of it waiting for this game to load?" It’s not even really funny, with GTA 5 Online load times ranging from five minutes right up to someone on Reddit claiming theirs was 12 minutes.
Looking to find a solution to this problem was someone called T0AST (toastercx on GitHub) who took a long look at what was going on and worked out a way to reduce load times by up to 70 per cent. After cracking the case, this intrepid coder posted a hacked-together way to solve the problem, but it’s risky (more on it at the end).
So what’s the issue here? Well, T0AST noticed that the first minute of load time was much like loading any game. Indeed, GTA’s own campaign mode doesn’t take as long and the assets are largely the same. T0AST said there was no massive network traffic, no huge memory spikes while textures are unpacked or anything like that.
- Samsung Galaxy S22 set to crash Apple iPhone 13 party with this advanced new camera tech
- PlayStation VR 2 has one big flaw, but this Nintendo feature would fix it
- How to supercharge your Nintendo Switch with 4K graphics
In T0AST’s write-up they explain that the problem seems to be related to single-core performance. If you PC has a processor chews through workloads on one core, you’ll load in quicker. For those with processors that are less capable running on a single core you’re in for a longer wait.
So what’s the game doing? Apparently parsing a JSON file that’s 10MB in size and contains 63,000 items. Further investigation suggests its a list of all the purchasable items in the online game. That makes sense, as the campaign doesn’t use this list, so can load far quicker. While 10MB isn’t a lot in modern terms, it’s scanning every character in that file multiple times over, and doing it only on one CPU core.
A second process then checks all the items in that list one by one using a hash. T0AST asks “[if you have] unique hashes why not use a hash map”. Let’s just assume that clever people understand and accept this is ludicrous and move on. Anyway T0AST fixed the problem and saw load times decrease from six minutes to a much more palatable 1m 50s.
You can find the tweaked code on GitHub and you could potentially use it yourself to speed up load times. However we don’t recommend this, because when you’re modifying game files for an online service you run the risk of violating the EULA and getting banned. That’s a bad thing, and would lose you everything you’ve worked hard to achieve in GTA Online.
What’s most frustrating about this is that if someone who’s good with code can fix a problem with GTA that legitimately ruins the experience for people, then why isn’t Rockstar all over this with its big pots of money? We have no idea, but we also really hope that the shame of this will prompt Rockstar into doing what T0AST did and fixing this annoyance once and for all.
Source: PC Gamer