Art by Jim Cooke.
Video games look better and better with every passing year. Just in the last few months alone we’ve seen gorgeous technical marvels like Horizon: Zero Dawn, Breath of the Wild, and Injustice 2 (yes, seriously).
But while game graphics just keep getting better, loading times — the bane of all impatient players — don’t seem to be improving at all. In some cases, they’re so heinous that they have got to be beaten into submission with barrages of post-release patches. Will our more powerful, more expensive gaming rigs ever get strong enough to eliminate the wait?
The programmers I’ve spoken to say that while games can put exponentially more Stuff on screen than ever before, the hardware that stores and loads that Stuff hasn’t improved at the same pace.”GPU and CPU performance increases have far outstripped hard drive read speed increases,” William Armstrong, a programmer who’s worked on games like BioShock 2 and Firewatch, said in an email.
Hard drives are constrained by the laws of physics, he said, because the process of reading/writing data always involves converting between pure electrons and some kind of physical apparatus. “That will be slower than pure circuitry,” he said. “Everything is slower than light.”
Yes, hard drives can load things faster than they did decades ago, and modern gaming machines have significantly more memory than previous generations, but the boost isn’t proportionate. Robert Dieterich, a programmer who’s worked on games like Elite Beat Agents and Lips, offered texture sizes — which make in-game objects and environments look more detailed — as an example. If a developer brings average texture size up from 1024×1024 to 2048×2048, he said, the data’s four times larger. Going up to 4096×4096 means it’s 16 times larger.
But, he noted, when you upgrade from the 5400 RPM (rotations per minute) hard drives that were standard a few years ago for today’s higher-performance 7200 RPM drives, that’s only a 33 per cent boost in read performance. “Switching to solid-state drives offers significantly better read performance — at higher dollar cost per GB — but you’re still fighting against dramatic increases in the size of game data,” Dieterich said.
And it’s not all about texture size, Armstrong notes. “As game scope increases, the amount of setup … that goes into making a set of data on disk be the video game increases,” he said, “things like initialising AI behaviour, settling dynamic physics, registering every bit of loot with save/load managers, etc. As game scope keeps increasing, the amount of setup just keeps getting larger.”
If anything, given this discrepancy in advancement between data size and hard drive speeds, it’s actually a wonder that load times haven’t dramatically increased over the years. This is because developers have created all sorts of techniques to hide or otherwise minimise load times.
Loading screens, Dieterich said, usually aren’t where the loading starts — if anything, they are often the tail end of a series of background processes that begin running long before the player careens smack into that progress-stopping, immersion-breaking wall, one that developers look to avoid wherever feasible.
For example, some games begin loading world data during the unskippable company logos at the start of games. Many load the bulk of their worlds before you ever enter them, which is why those initial load screens can be so lengthy. Others stream data in while you’re playing, or use a mixture of both those techniques.
Many modern games also procedurally generate some of what you encounter in the game world by taking a small amount of data and using it to build larger things, like high-fidelity textures, during runtime. That wall of bricks might not have come from a .BMP file, but from a mathematical equation.
All of these things, however, come with their own complications. For example, one of the most reliable ways to bring loading times down is by “baking” everything a particular part of a game requires — and only what it requires — into efficient bundles of data, which can then be loaded as needed.
Developers can do this when they know where players are going to be and roughly what they will do from there. Most straightforwardly, you’ll often see it happen at the beginning of a game or level.
But it’s not always easy to predict what players will do, especially with more and more games embracing open-world design. “The more unpredictable the player’s destination, the less likely you are to be able to predict exactly what data the player will need,” said Dieterich.
“This is why you’ll likely encounter a loading screen in an open-world game if you quick-travel to a distant area, whereas you wouldn’t have seen a loading screen if you went there manually.”
Oftentimes, developers don’t even know their own game well enough to effectively finesse the load times until near the end of a development cycle. Game development is made up of countless moving pieces, each of which is on the verge of catching on fire at any given moment.
It’s a series of trade-offs. Implementing one thing over here might cause longer loading times or crashing bugs over there. It depends on the game engine, too. Some engines handle the particularities of certain loading techniques better than others, and most general-purpose game engines are built before developers really know how their particular game will turn out. There’s guesswork involved, and those guesses don’t always pan out.
To avoid breaking stuff, developers typically like to have the content of their games locked in before they start surgically slicing away at things like load times.
Problem is, that doesn’t usually happen until near the end of development, when there’s just a pinch of sand left in the hourglass. Developers can only address so many problems before it’s time to send a game off to certification and then release. And load times aren’t the highest thing on the priority list.
“When you enter the home stretch to ship a game, you take stock of all the problems it has and prioritise each based on the costs and benefits of fixing [or] improving it,” JP LeBreton, a designer who has worked on games like BioShock and Spacebase DF-9, said in an email. “For launch, devs often prioritise stability — making sure the game never crashes, and is fully playable/completable — over performance.”
“You’re kind of betting on what the biggest deal-breakers are for players,” LeBreton said. “A game that performs poorly can still be played, but a game that crashes reliably is a lemon.”
These days, we’re seeing more and more developers patch especially pernicious load times after release, since only after shipping do developers have ample time to take stock of them holistically.
“Sending a game into the wild opens the floodgates, and that’s where we started seeing reports of long load times,” said game director Rand Miller of his 2016 game Obduction. Some of those reports, Miller explained in an email, stemmed from particular hardware issues, while others were born of specifics the development team just wasn’t aware of before the game came out. “We were loading a larger section of the game than we needed at startup,” he added. “So we rezoned a piece at the beginning of the game and pushed a hotfix. Rinse. Repeat.”
While continuing to update Obduction‘s engine and optimise the game for various platforms, Miller and company uncovered other small things that they had done either incorrectly or inefficiently.
“We discovered that we were loading all the live action movies when we load a world,” said Miller. “That slows down loading, but requires a rewrite of one of the character interaction systems to fix.” The art department found some game textures that could be reduced in size, but these too had to be dealt with on individual case-by-case bases. Chisels, not jackhammers.
I spoke with developers behind two other games that received load-time-related updates post-launch, open-world stealth game Ghost of a Tale and fantasy RPG The Dwarves, and they offered similar sentiments. To improve load times, developers have to know their games inside and out. Even then, though, it takes time and precision to target specific issues. For The Dwarves team in particular, they have recently started trying to keep load times in check all throughout development.
The creative director of a fantasy RPG called The Dwarves, which also received significant post-launch loading improvements, now says his studio is trying to keep load times in check throughout their games’ development cycles.
“Making clever packages, optimising the memory handling, and reducing the amount of data in the memory is pretty complicated if you do it late during development,” said Jan Theysen. “So for our upcoming games we introduced new systems in our workflow that force everybody to think about loading times from the beginning.”
But there’s only so much developers can do before games are close to completion. With loading times likely to be around at least as long as we’re storing data on magnetic, spinning hard drive platters, the fixes will probably keep coming (if they come at all) after release. Load times, says William Armstrong, are “similar to games shipping with a bug in their online features, or quest bugs when you play the game in an unexpected order or very quickly.
These bugs all only show up when the game is completely finished. And games are rarely finished before the last possible minute.”
Comments
31 responses to “Why Games Still Have Bad Loading Times”
Battlefield 1.
Never have I waited so long for a game to load or quit.
Curse that game.
When you couldn’t even quit out of a server because it was loading the next map, you got about 5 seconds at the end of the round before it’d throw you into the next game.
The rage this induces…..
Forza Horizon 3 on the PC – time to have lunch while you’re waiting.
That’s only AMD card users with particular drivers, according to the forums
Load times are much better than they were when I was a kid…. cassette tape did not have the highest bandwidth.
I’d like to say you jist but speaking as one with a copy of Lego City on the Switch, all I can say is the load times are awful.
I know the “cartridge” is not the same beast as the type in the ol’ SNES days but the load times shouldn’t be as long as optical load times.
It also didn’t load a whole lot either did it? An uninformed guess is that it spent more time locating the correct area of tape to load than actually loading it?
Load times almost stopped me from playing The Witcher 3. That and Roach being a complete piece of shit.
I actually wondered whether this was an old article re-published… seriously who used 5400RPM HDDs in the last 10 years? And 7200RPM HDDs now? SSDs have been pretty affordable for a number of years. I bought 2 850EVO 500GB SSDs at $179 each (including shipping) during a special. There’s no excuse not to have at least a 250GB SSD these days.
Anyway, one of the biggest gripes I have about load times isn’t actually the game data loading it’s the unskippable “junk” that they put at the start. Game logo, publisher logo, game company logo, nvidia logo, intel logo, Dolby logo… Oh hey, we’re at the main menu at last. Sure some games might hide loading assets behind a logo screen but there are two problems with them;
1. The logo screens need to be more interesting/useful. I don’t want to see the nvidia logo for the three hundredth time, how about displaying a world map, or character information, or game tips or something.
2. Often the logos aren’t actually hiding asset loading, they’re just additional time wasting. You get a 30 second wait before you get a simple menu. Then when you do try to start the game you get another 30 second wait. If your logos and preliminary stuff aren’t covering pre-loading then they absolutely should be skippable.
Issue with SSD’s has always been the cost per Gb. A 250 Gb SSD is going to act as your boot drive, so you lose a decent chunk of that capacity from the get go. Toss in a few other system programs, and you can lose half straight away.
That doesnt leave much space for gaming.
You’re right, there is no excuse not to have one these days, but their capacity limits what you can do with them with gaming. You’re either installing and uninstalling every time you want to change the game you’re playing, or need a secondary drive.
Which then runs into the same problem if its too small as well.
So if your second HDD is a SATA drive, it gets back to the issue in the article – the rpm’s havent kept up with the increase in data size. I have a small capacity 15k rpm drive sitting around somewhere that I never got around to using. Got it in the days before SSD’s, it was going to be a boot drive. Its too small to bother using now, so its a conversation piece.
But even 15k rpm is only around 300% of the old 5400’s, so wouldnt even deal with a mere doubling of resolution that leads to 400% increase in data to be loaded.
SSD’s need to be multi Tb in size, AND cheap before they can do whats needed. Until then, cost v capacity will remain an issue.
I know what you’re saying but I kinda disagree. I think the problem is twofold;
1. People hoard.
2. People aren’t smart about it.
I ran a 240GB Patriot SSD ($799 when I first bough it) and it fitted windows and my *important* games on it. The emphasis there is intentional. Just because you have a steam library of 300 games doesn’t mean you need to have all of them on your SSD. If you no longer play a game remove it, no reason you can’t download it later if you ever get the urge. And if you’re not keen on re-downloading then create a second steam cache on your HDD and move it there.
I have a bunch of games on my SSD because I play them semi-regularly, but I have 20 or so that I moved to my HDD since I haven’t played them for a year. If I ever feel like playing them I can either put up with the slow loads, or if I get hooked again I can move them back to the SSD.
And of course there is even more obvious stuff – like don’t store your MP3s or movies on your SSD.
Side note: the biggest game I’ve installed lately is Alien Isolation. With all DLC that comes to about 16GB. Diablo3 is about the same, WoW (which I haven’t played in a year) is about 50GB. There’s no reason you can’t have easily a dozen games on an SSD and your Windows install if you choose.
Oops, I did mean to say that SSDs are *more* expensive but the $/GB ratio is improving all the time. And it’s actually far far better than the HDD $/GB ratio was when they started taking off. I bought a 13GB Quantum Bigfoot drive for $500 way back. And I remember having drives as small as 40MB on my first PC – God I dread to think what the $/GB ratio on that one was.
Also, Optane will serve to bridge a price/performance gap as it becomes more widespread.
If you’re using a console, odds are that its a 5400 rpm drive. It’s still fairly relevant.
What’s a console? 😉
I suppose you’re right though. I have no idea what’s in consoles these days. My last one was an Xbox (the original Xbox).
It’s not just the speed of the platters.
Most don’t use anything faster than a SATA2 interface. I think the newer XBones use SATA3 but don’t quote me.
How many traditional hard drives actually exceed the bandwidth of a SATA2 interconnect though? I can understand SATA3’s benefits if you’re using an SSD or connecting multiple drives via a port multiplier. But neither of those are really applicable to consoles in their default configuration.
Who uses 5400RPM drives? Anyone who bought a console, that’s who.
No Ninty console has ever had a spinning disk hard drive that I can recall.
Anyone who’s complaining about load times and doesn’t have their games installed on an SSD doesn’t really have the right to complain.
The solution is there, you just have to use it
Assuming you’re playing on a PC of course.
One can put an SSD in a console but results really do vary.
I put one in my PS3 and it certainly helped but the there was effectively no change on my PS4.
I think back then the PS3 used a very underpowered laptop hard drive which didn’t even rate at 5400.
Speaking first hand, I remember texture pop-in being very bad in Rage on my Fat PS3.
Put in an SSD and no more pop-in.
Depends on the console too 😛
It’s kind of like gases, you give them a bigger container and they’ll just fill it up which kind of makes sense because you don’t create a new machine with better specs just so it optimises existing software. Although there is the old software industry “joke” that to fix a performance issue you just keep throwing more hardware until it stops being a problem. When you have a machine with 64 Gb of RAM and you end up taking up 52 of them with a single query though you do have to wonder what’s going on (True story).
I wonder if the next generation of consoles will have hybrid drives as standard? At each launch, load the specific game (and OS) into the SSD and move it back to the hard disk when it’s quit. Putting one in now helps but isn’t that much better, but if consoles were specifically built to do this, it might help a whole lot more.
I’ve been playing Horizon Zero Dawn on PS4 and for the amount of detail in the game world I don’t think the loading times are excessive. Just sayin’, because it was mentioned in the article.
I think they’re great, and unlike other open world games I’ve played, when you fast travel to a location near by, load times are lightning quick.
Compared to lots of other games, HZD is great.
I can’t stand when there’s a massive FMV cutscene which transitions into a loading screen, but the length of the loading screen isn’t impacted by whether or not you skipped the FMV. I’m looking at you Farcry Primal. Why are you just sitting on your ass while playing the FMV to me? Multitask so that I can jump straight into the game.
Wolfenstein had a fantastic system where you couldn’t skip a cutscene while it was still loading the upcoming assets, but once it was loaded you could skip and instantly start playing. That’s a developer who’s showing that they value my time.
Mass Effect 1 had amazing load times on the Citadel elevators…
Star Wars: Battlefront. Amazing load times and amazing graphics to boot.
No, because there is always going to be a significant group of users /demanding/ the power to be used to its limit so they can feel “current generation” enough. I imagine a future where we can make a like-like sim advanced enough to be its own reality and there still will be people going “If you zoom 100x and check the bristles on the back of this mite caught in this dude’s nose hairs, you’ll see a noticeable corner cutting in the drawing distance of the bristles on its head. Moreover, if you introduce a billion particles to the simulation (say, oxygen molecules) there will be an undeniable drop of the frame rate of at least two picoseconds. Garbage tier.”