Loading screens are an inevitable part of our electronic devices.
Whether you’re waiting for an app to load or a PC game to load, loading screens are virtually inescapable (unless you have an SSD).
But what’s actually going on behind the screens when you’re waiting for a game to load? MaximumPC decided to look into the issue and explain it in a down-to-earth way that idiots like us can understand.
Here’s what’s going on when you wait for your games and software to load.
How Applications Work
Whether you’re opening your antivirus software, running a game, or launching an app on your phone, application loading all typically works the same way:
Photo courtesy of Sho Kikugawa at MaximumPC.com
When you see a loading screen, all of the above steps are being performed behind the scenes. Instead of telling you how that data is loading, or the specific processes currently underway, the application chooses instead to simplify things by showing you a big loading progress bar.
There are some applications that only load the bare minimum of data required for you to start up the app.
Then, that data is continuously loaded in the background as you begin using the app. You see up above where the “Ready or Running” arrow goes up back to “Transfer Data” – that’s what’s going on there.
What does each of the above steps mean? Let’s take a closer look.
Transferring the Data
During this process, your device moves data from storage to RAM. The faster your storage device is, the less time this will take.
This process involves your device handling a number of file requests. A file request is needed every time a file is transferred: the drive has to look up the location of that file and then go find it. The length of time it takes to perform this step is called “seek time”.
Depending on your hard drive, it might be faster to transfer a single 1GB file than to transfer 1 million 1KB files (totaling 1GB).
For example, on a hard drive with 0.05ms average file seek time, it will transfer 1 million 1KB files in about a minute. It will transfer a single 1GB file in about 10 seconds.
All of this means that programs with a lot of file requests – like ones that require multiple plugins – will take longer to load than simpler applications.
To speed up loading times, developers will often try to make their data modular, which means they group smaller files into larger chunks.
Initializing the Environment
During this step, your device will prepare the environment on which your data is being loaded.
Once an application is in your RAM, it technically starts to run. However, that data may not be usable yet.
IBM provides a good summary of this process:
In that image, you can see that a Linux system goes through the following startup steps:
Step 1) It loads a compressed image of the kernel into RAM
Step 2) It decompresses the image and starts up the kernel
Step 3) It initializes the hardware depending on its environment
Step 4) It starts up Init or, in some Linux distros, it starts up systemd
Step 5) Init / systemd will spawn other processes depending on the configuration before eventually giving the user a terminal or GUI for interaction
Once the user has been given a terminal or GUI for interaction, all of the data becomes accessible and usable.
This process relies a lot more on your processing power than on your RAM and storage writing speeds. As you can see when loading a game like Grand Theft Auto V, your processor usage will spike several times during loading:
When your processor spikes, it typically indicates that the processor is helping to load some of the data within the application – it’s assembling that data in a coherent order so you can eventually play the game.
What You Need to Know About Speeding Up Load Times
The most important thing to get from this research is that load times are more related to processing power than you may realize. In other words, a fast SSD combined with a medium processor may not give you as substantial of a performance upgrade as you’re expecting.
Other lessons include:
-Transferring data appears to happen in bursts. SSDs are more capable of handling these bursts without maxing out read/write caps.
-A faster processor can decrease load times. Certain applications rely on the processor more than others, so the increase in load time will vary. Windows 7, for example, relies surprisingly little on the hard drive while loading and uses a lot of CPU power.
-In some cases, having a faster processor with a hard drive can come close to performing as well as a slower processor with an SSD.
Check out Maximum PC for more explanation about how different applications are loaded. They actually tested Windows 7, GTA V, and several other games to determine their different hard drive request rates and processing power requirements.