Progress bar values are basically made up by the developer.  For some things they work pretty good.  If you are downloading a 100MB file and have finished downloading 70MB then saying you are 70% done is pretty easy.  For things like installing a game, where you have a huge number of files of different sizes it gets a little trickier, and for some things you can't really know ahead of time how long individual parts of the process will take, so you are really just guessing.  This is why you will get stuck on a random number like 37% for a while, the instantly jump to 52%.

Now in all cases though, developers will often have some sort of main execution section and when they finish that they are "pretty much done".  So they set the progress bar to 99% or 100% and then they "just do some cleanup".  Where cleanup are some usually small tasks they need to complete to really be finished with everything.  Sometimes the developer simply underestimates exactly how much stuff they need to get done with (just this one more little thing, then I'll be done...) or he has to wait on the OS for something that takes some time he didn't account for.  If they were expecting the main work to take a significant amount of time, then maybe this cleanup really is 1% of the total time, but if the main work gets done fast it appears to lag here.  There is also a "watch pot doesn't boil" effect since you are just waiting for that final %.

TL;DR Because the percents are made up by programmers, and programmers are bad at estimating how long things will take
ප්‍රගති තීරු අගයන් මූලික වශයෙන් සෑදී ඇත්තේ සංවර්ධකයා විසිනි. සමහර දේවල් සඳහා ඔවුන් ඉතා හොඳින් ක්රියා කරයි. ඔබ 100MB ගොනුවක් බාගත කරන්නේ නම් සහ 70MB බාගත කිරීම අවසන් කර ඇත්නම්, ඔබ 70% ක් අවසන් බව පැවසීම ඉතා පහසුය. ක්‍රීඩාවක් ස්ථාපනය කිරීම වැනි දේවල් සඳහා, ඔබ සතුව විවිධ ප්‍රමාණයේ ගොනු විශාල ප්‍රමාණයක් ඇති විට එය ටිකක් උපක්‍රමශීලී වන අතර සමහර දේවල් සඳහා ක්‍රියාවලියේ තනි කොටස් කොපමණ කාලයක් ගතවේද යන්න ඔබට කලින් දැනගත නොහැක, එබැවින් ඔබ ඇත්තටම අනුමාන කරනවා විතරයි. මේ නිසා ඔබ ටික වේලාවකට 37% වැනි අහඹු අංකයක සිරවී සිටිනු ඇත, ක්ෂණිකව 52% දක්වා ඉහළ යයි. දැන් සෑම අවස්ථාවකදීම, සංවර්ධකයින්ට බොහෝ විට යම් ආකාරයක ප්‍රධාන ක්‍රියාත්මක කිරීමේ අංශයක් ඇති අතර ඔවුන් අවසන් වූ විට ඒවා &quot;බොහෝ දුරට සිදු කර ඇත&quot;. ඒ නිසා ඔවුන් ප්‍රගති තීරුව 99% හෝ 100% ලෙස සකසයි, ඉන්පසු ඔවුන් &quot;පවිත්‍ර කිරීමක් කරන්න&quot;. පිරිසිදු කිරීම යනු සාමාන්‍යයෙන් කුඩා කාර්යයන් වන අතර ඒවා සියල්ල සමඟ සැබවින්ම අවසන් කිරීමට සම්පූර්ණ කළ යුතුය. සමහර විට සංවර්ධකයා තමන්ට කළ යුතු දේවල් ප්‍රමාණය හරියටම අවතක්සේරු කරයි (මෙය තවත් කුඩා දෙයක්, එවිට මම කරන්නම්...) නැතහොත් ඔහුට යම් කාලයක් ගත වන දෙයක් සඳහා මෙහෙයුම් පද්ධතිය මත රැඳී සිටීමට සිදු වේ. t ගිණුම සඳහා. ප්‍රධාන කාර්යයට සැලකිය යුතු කාලයක් ගතවනු ඇතැයි ඔවුන් අපේක්ෂා කළේ නම්, සමහර විට මෙම පිරිසිදු කිරීම ඇත්ත වශයෙන්ම මුළු කාලයෙන් 1% ක් විය හැකිය, නමුත් ප්‍රධාන කාර්යය වේගයෙන් සිදු වුවහොත් එය මෙහි ප්‍රමාද වන බව පෙනේ. &quot;ඔරලෝසු බඳුන උනු නොවේ&quot; යන බලපෑමක් ද ඇත, මන්ද ඔබ එම අවසාන% සඳහා බලා සිටින බැවිනි. TL;DR මක්නිසාද යත් ප්‍රතිශත සෑදී ඇත්තේ ක්‍රමලේඛකයින් විසින් වන අතර, ක්‍රමලේඛකයින් දේවල් කොපමණ කාලයක් ගතවේදැයි තක්සේරු කිරීමට නරකයි.