进度条,也称之为安慰条,就和你有拖延症的朋友差不多,你拖他办一件事,他总告诉你快好了,在等两分钟就好了,事实却是永远好不了!
就像某雷的这个进度条,我手纸都准备好了,你居然卡在了99%,着实不给面子
01进度条的依据
进度条的依据主要有两点,这里我们打个比方:
假设有100个不一样大小的文件,这些文件的总大小为100G!
此时,我们就可以分为以下两种情况来给进度条提供依据啦!
第一种:将100个文件分为100份,每传输完一个文件,我们让进度条加载百分之一,但是这样做有一个弊端,就是假如第2个文件是99G呢?那么从1%变到2%就需要好长一段时间,这样出来的进度条的进度是不平稳的!
第二种:将100G大小的文件分为100份,每传输完1G就然进度条加载百分之1!
看起来第二种方式会靠谱一点,虽然比第一种方法靠谱一点,但是也有变数,比如文件传输0-100是一个提速的过程的,还没提速完成这个文件就传输完成了,下一个文件又从0开始,如此往复,你传输文件的速度永远达不到峰值!
下面是小编找了一个大文件,以及一堆小文件做的测试图,前半段是单个大文件的传输速度,后半段是多个小文件的传输速度,从该图就可以直观地看出以上问题!
02什么情况下会影响到进度条
除了上面提到的文件大小达不到峰值会影响进度条的准确性,还有很多因素可以影响到进度条的准确性!
即使你传输的文件速度已经达到了峰值,突然奔出来个其他程序,硬生生的把硬件给你的通道给抢占了!
再比如我们在打英雄联盟加载游戏的时候,那个进度条也是一个预估值,因为服务器反馈的时间也是不确定的,也许加载途中有一个队友掉线了,那服务器就接收不到反馈信号了,就这样子你的进度条卡在99%三分钟!
其实进度条对下载以及传输大文件还是挺准确的,等传输速度到达峰值后,在没有其他因素影响的时候,这个数值就基本不会变,进度条的反馈也就更准确!
但是对P2P这类型的下载模式就不是太准确了,P2P是将所有下载这个资源的人组成一个网络,在这个网络里面的所有计算机都是一台服务器,这个网络里的服务器多了,变数也就大了!
也许对面的老哥把手纸都扔了,电脑都砸了,而你还在这里傻傻的等99变成100!
其实卡在99%的主要原因有以下两点:
1.目前大多数下载工具,都是多线程下载,勤劳一点的线程早早下载完就下班了,总有那么几个慢通通的线程,可以磨蹭一两个小时!
2.下载完成后剩余的1%也可能在校验文件的完整可用性,经过小编多年的经验,此类文件下载到99%,修改一下文件扩展名也可以正常使用!
03进度条意义
进度条的意义,开篇就说了,是安慰条,其实这就和电梯上的关门按钮一样,是一个摆设,给你那些急躁的朋友准备的,可以缓解焦虑!
还有就是给你反馈是不是卡住了,就像游戏加载一样,如果没有进度条你会总是想,是不是卡住了!