Interesting read on how GTA Online player t0st got elbow deep into disassembling GTA Online to fix its poor loading times.
After taking a minute to load the common resources used for both story and online modes (which is near on par with high-end PCs) GTA decides to max out a single core on my machine for four minutes and do nothing else.
Disk usage? None! Network usage? There’s a bit, but it drops basically to zero after a few seconds (apart from loading the rotating info banners). GPU usage? Zero. Memory usage? Completely flat…
What, is it mining crypto or something? I smell code. Really bad code.
One of the culprits as he found out: a poorly-implemented JSON parser locking up a single CPU thread as it tries parsing a 10MB JSON file.
Fascinating to see how he’s practically touching in the dark, yet still finding clues and being able to solve them.
Let this be a reminder to not take common tasks/libraries for granted, and also question them when running into performance issues.
Update 2020.03.15: Looks like Rockstar has been paying attention as they will incorporate (the spirit of) these fixes into GTA Online, and have also awarded
t0st 10,000 USD through their Bug Bounty Program.
(Via The Verge)