龙空技术网

原来如此,进度条总是停在99%不动?其实这要是主要原因

大鱼姑娘科技 105

前言:

目前你们对“进度条网络”大约比较关怀,各位老铁们都想要剖析一些“进度条网络”的相关内容。那么小编在网摘上汇集了一些有关“进度条网络””的相关文章,希望看官们能喜欢,各位老铁们一起来学习一下吧!

哔哥自从学会上网冲浪后,最最最讨厌的一个数字就是:99%。

这是一个充满魔力的数字,曾让我狂躁、焦虑,甚至激动得想砸键盘锤电脑扔手机。

比如下载学习资料或看动作大片,苦苦等待2小时,好不容易下到99%,以为2秒后就能享受大片的美妙,步入极乐世界。

结果半小时过去了,进度条死死卡在99%,任你千兆光纤,专线宽带,愣是一丝不动,稳如泰山。

再去检查路由器,狂按重启键,发现网络一切正常,网页秒开,唯独进度条上的99%永恒不变。

原本等待美好事情发生的那股兴奋、激动之情,被彻底湮灭,转而为之的是愤怒、恼火、狂躁.....

脑子里只想干一件事↓

为什么进度条总要卡在99%?为什么最后1%永远加载不动?

今天,哔哥要为大家破解这一千古谜题,揭开背后不可告人的真相。

技术原理导致

关于进度条99%的问题,得从它的诞生说起。

图形进度条最早出现在1979年, 由Mitchell Model在他的博士论文中提出。(进度条概念诞生于1896年,当时仅是一个概念,没有具体的应用)

论文里他表示:进度条能在复杂的计算机环境中监视系统行为。

说白了就是:进度条能直观展现电脑在做什么,做到哪种程度。

正因为进度条能用最简单的图案和数字,表达电脑复杂的计算过程的特性,于是渐渐在各大操作系统流行起来,成为了电脑的经典标志之一。

但问题来了,人不是电脑更不是神,再牛X的程序员也无法预测电脑什么时候完成工作。

所以程序员开发出来的进度条,根本不能精准地反映出电脑情况,所谓的50%、80%、90%,仅是大概的数字,预测而已。

可以说你看到的进度条,和实际的进度是两个东西。

另外你在后台打开的软件,网页这些程序随时会占用资源,瓜分走处理器的运算量,也是影响进度条的因素之一。

电脑没办法稳定均匀地运行,在波动随机性巨大的情况下,进度条能准才有鬼咧。

例如你玩游戏处在加载界面,3分钟加载到99%,突然你打开另一个游戏,处理器资源被瞬间占满。

哦嚯,恭喜你,你的游戏将长时间卡在99%,配置差点的电脑当场宣布卡死无响应。

产品经理的恶意

虽然进度条由程序员开发,但真正设计进度条的人,是产品经理,包括功能、样式、图案等。

很多产品经理在设计进度条时,会特意要求程序员制作一个“虚假进度条”。

可能你会问,产品经理为什么无缘无故搞个假东西骗人呢?

给你们举个栗子,看完就懂了。

假设现在有2个相同下载速度的进度条,A和B,它们的下载完成时间都是100秒。

A是经过产品经理特殊调教的虚假进度条,它很套路,用了10秒下载到99%,最后1%花了99秒完成。

B是老实进度条,没被调教,10秒加载到10%,100秒100%,一分不差。

此时因为A前十秒加载到99%,而同样时间B却仅有10%,在强烈的对比下,大部分人会认为A比B更快,A比B更好用。

虽然A最后耗费90秒才完成1%,但很多人出于不甘心的心理,反而会耐心地等待,为它打气。

在优胜劣汰的规则下,用户自然纷纷把B卸载掉,只留下A,产品经理出于用户留存的想法,只能优先采用虚假进度条A。

现在明白了吧,有时候不是进度条不准,而是产品经理在搞事。

小提示:虚假进度条,常见于各类视频网站。

下载完成后的块校验

相信小伙伴们用迅雷时,没少经历过下载到99.9%,突然0KB的情况。

根据我多年的经验,导致这种情况发生的原因主要因为块校验的机制。

迅雷下载采用P2P协议加速,P2P的优点在于有多个数据来源。

每个下载过该文件的人,相当于一台服务器,当别人下载时自动在后台上传数据,提供速度。

想想成千万人免费当苦力,为你一人上传资源,那是多壮观的场面。

这便是热门资源下载永远满速,冷门资源仅有几KB的原因,也是你电脑时不时上传满载的真相。

但缺点同样也有,因为数据来源多,质量参差不齐外加上传不稳定,容易导致文件乱码出错。

因此迅雷定下了一个规则:在下载到99.9%的时候,会对文件进行块检验,如果某个块出现问题,无法重新下载,则会一直卡在当前进度不动。

实际当进度来到99.9%的时候,文件早已下完,最后的0.1%仅是留给迅雷做文件检查用。

如果哪天卡在99.9%不动,别傻楞去充白金会员,大声告诉你:钛金会员都没用!

标签: #进度条网络