So you started up the game…you’ve pressed ANY KEY (or the start button) and……LOADING…..Sometimes it’s a quick load, and sometimes its a SLOOOOW BURN, and whether you swapped out for a solid state drive or not, LOADING HAPPENS, so what really goes on out here?
Life is short, and nobody wants to waste their time in front of a loading screen….it’s always been a thorn in your spine since anyone can remember. You’d think they’d have found a way around that by now, right? WRONG. The painful truth is…there isn’t really a way around it…they might some day bring loading time to a negligible amount, or figure out a way to do it in the background while other things are happening to the point where it FEELS like there’s no loading time, but unless there’s a fundamental change in the way computing technology works, loading is ALWAYS going to be necessary….
So all of your game data is located on your hard drive or your Solid State Drive (SSD), that’s permanent storage…and it’s also slower than RAM, even the SSDs. At bare minimum, while a game is loading, it copies all of the data that is necessary for what you’re doing right now into the RAM. Now, alot of the time, data stored like textures or music or sound effects are stored in a format that can’t be automatically used, for instance they may be packed in a large file that contains a load of things.
Next, those files will be run through a series of processes that take that raw data and make it usable, which may include downloading external data as there may be updates or outside assets that change on a regular basis that can be pulled from the internet. Next, pre-calculation, which can include calculating trajectories, rendering vector graphics into raster, which essentially means taking data which was created with math and making it into a visual so that you can see it, and doing general math work for the continuation of the game…
There’s also initialization that needs to happen, which is the main reason you see all those company logos at the beginning of a game.
Everything in the game is some type of process on it’s own and needs to be started and the specific modules need to be brought into the RAM, and in some cases, executed.
Another thing done during loading is Garbage Collection. In Computer Science, Garbage Collection (GC) is a form of automatic memory management. The garbage collector, or just collector, attempts to reclaim garbage, or memory occupied by objects that are no longer in use by the program. GC was invented by John McCarthy in 1959. Imagine all of the processes getting rid of all the data and modules they’ve used, and don’t need anymore….how do they dispose of it? You can’t just store them in your memory, that’d be a HUGE WASTE.
There’s always going to be less RAM than Hard Drive space, so it’s amount is always going to be limited…or at least CONSIDERED limited…so we’re gonna be stuck with the loading screen for quite a bit…
So there you have it….THAT’s what happens behind the dreaded loading screen we all despise!