4 ms·
Nah. We just need to stop this idea that JSON(or similar formats) is an acceptable data storage mechanism. It's fine when interacting with low bandwidth APIs a
by outworlder 4y ago
Nah.
We just need to stop this idea that JSON(or similar formats) is an acceptable data storage mechanism. It's fine when interacting with low bandwidth APIs across different systems, where the need for debugging is greater than performance.
But on a shipped game? Just bake this JSON into a better, binary serialization format. No need to parse data that seldom changes over and over again.
It doesn't matter if you can stream json, if you don't need to call strlen, what have you. Just don't parse unnecessary stuff.
- tialaramex 4y agoThis is GTA Online, so while it's a "shipped game" that JSON changes, Rockstar decides to offer the "Pfister Astron Custom" for $2.5M and they just change the JSON. I don't know whether it's fetched from their servers on startup, or whether it's on disk and just updated periodically, but either way choosing JSON is not as crazy as you seem to think.
- mypalmike 4y agoI'd guess that json is the least of their problems. Even with the fix, load time is still an unreasonable 2 minutes. This suggests they aren't doing any of the load performance things game devs have figured out over the decades, like streaming loaders and stacked memory pools.