system
Given the following post, respond as if you're commenting on Reddit:
human
ELI5:Why are loading screens so inaccurate?

The bar "jumps" and there is no rate at which it constantly moves towards the end. Why is that?
gpt
Loading bars usually reflect some count of the number of things being loaded. If there are twenty things, the bar might be broken up into twenty sections.

One problem is that the loading bar is often only updated when an item is complete, so instead of moving smoothly from one end to the other, it waits for each item to load and then moves the entire distance immediately.

Another problem is that not every item takes the same amount of time. If you have a bunch of textures which each take a fraction of a second to load, but then come up to a complex light map which takes a couple of seconds to load into memory, it will suddenly look like it is making no progress at all.

Other complications involve loading dependencies, where loading X requires loading Y and Z, and those might have their own dependencies. If the programmers don't traverse the tree before-hand and use that to set up the loading bar, then it becomes even less obvious what is happening.

Loading bars can be improved by estimating how long things are going to take and using that to make the bar be feel better for users, but this is usually a *very* low priority. The most common response to user complaints is to simply get rid of the bar and have some simple loading animation which provides less information as it is easier than making the bar actually useful to users.