ELI5: Why do so many loading screens go to 90% really quick, then take just as long or longer to finish the last 90%?

Read the Story

Show Top Comments

Here is one example: A progress bar shows the total progress of all tasks being done. Each individual task might be different and it may not be easy to determine how long it will take (some recursive functions). So instead of calculating the progress of each task, it will just move the progress bar forward each time one is completed. So say there are 10 tasks to do: Task 1 of 10 complete, move the bar to 10%. Task 2 of 10 complete, move the bar to 20%. Task 3 of 10 complete, move the bar to 30%. And so on. Each of those tasks can take longer than the other so the progress bar can appear to jump in some places and stop in others, instead of a smooth transition from 0% to 100%.


Sometimes progress bars are not showing an actual progress of a process. They just “programmed” to go 90% in some period of time. This period is not always the same. Sometimes progress bar moves faster or slower. When process ends, a progress bar just goes from 90% to 100%. This is a common thing in web sites, when you need to show user that something is happening, but you don’t want to use an endless spinning loader. Source: I’m a software engineer


Imagine garbage collectors driving round their set path. 90% of their work is grabbing all the trash and putting it in their truck. When they get back to the dump, they need to empty the truck into the trash pile. Now imagine that while they’re dumping the trash into the trash pile, but bunch of the trash in the truck is really sticky and won’t come out easily. Now the workers need to go and scrape off all the sticky stuff and put it in the pile, which makes that last 10% of work much longer than expected. This is very similar to when a program is finishing what it’s doing and therefore ‘dumping’ its saved data that it doesn’t need anymore. Hope I helped a bit…


I worked for a game company once that intentionally added some time to a loading screen to ensure there is enough time to read what is going on. No sense having loading screen tips that last half a second. This was for a console and this was the only place in the game that conveying these small bits of information would fit. This was also a very light game so while it is one explanation, it is definitely not the most common.


Here’s one of the simple reason other comments have missed out. They lie. There is no reason to trust the progress bar as accurate description of what’s happening in the system. In an ideal progress bar, 0 to 10% should take same time as 90% to 100% by any reasonable definition of progress. Software companies lie about progress of completion to give us an illusion of completion. This happens all the time.