游客

系统、软件驱动越升越卡?负优化与安迪比尔定律

游客 2017-01-19 08:11:07    201034 次浏览

对于“负优化”,大家都谈论了很多。显卡玩家谈论“负优化”,谈的是氢弹变原子弹,新驱动一出老卡性能不升反降;手机玩家谈论“负优化”,谈的是新系统推送天地灭,iPhone瞬间卡得像塞班。

没错,在这个高速发展的信息时代,新软件新技术层出不穷,然而这些新事物带给用户的,却并不一定是更好的体验。软件、系统、驱动等等,新版比老版坑爹的情况,似乎并不是都市传说。“负优化”现象真的存在吗?如果真的有,为什么开发者会如此喂屎?今天,就让我们来谈谈“负优化”的话题吧。

新软件不可避免“负优化”:安迪-比尔定律

按理来说,新产品需要有所优化,比旧产品的用户体验更好,消费者才会买单,但新软件比旧软件更慢更卡的现象,却层出不穷。远有Windows Vista肆虐用户内存惨案,近有iOS新系统狂杀App后台悲剧,新版软件对比旧版,体验还真不一定更好。

系统、软件驱动越升越卡?负优化与安迪比尔定律
尽管苹果软硬件结合出色,但新版的iOS在性能方面往往是“负优化”

为什么会变成这样呢?新版软件带来了更漂亮的界面和更强大的功能,两者结合在一起,本应带来更好的用户体验;沉浸在全新用户体验的美好时光,本来已经触手可及,然而,为什么会变成这样?这就不得不提到闻名业界的“安迪-比尔定律”。

所谓安迪-比尔定律,安迪指的是Intel前CEO安迪-鲁夫,比尔则是大家都知道的比尔-盖茨。这条定律可是把这两位IT大佬狠狠黑了一把啊。

安迪-比尔定律的含义就是,安迪给啥,比尔拿啥;Intel产多猛的硬件,微软会用越来越臃肿的系统和软件统统吃掉增长的硬件性能虽然这定律说的是Intel和微软,但套在其他软硬件厂商身上,也没什么违和感。安迪-比尔定律,实质上所描述的,就是软件臃肿化的问题。

系统、软件驱动越升越卡?负优化与安迪比尔定律
Intel的安迪微软的比尔,这定律可让Wintel联盟大赚了不少

无论是新软件更漂亮的界面,还是更强劲的功能,都是需要更强大的硬件作为基础的,总不能要求奔腾MMX能跑得动Win系统的Aero特效。摩尔定律让“芯片每18个月性能提高一倍,价格减半”,但安迪-比尔定律足以让摩尔定律无功而返。而如果你的钱包没有跟上摩尔定律的增长,没更换新硬件,就难以享受到新软件带来的快感,安迪-比尔定律作用下,新软件也就变成了“负优化”。

系统、软件驱动越升越卡?负优化与安迪比尔定律
QQ的功能和界面都和十几年前不可同日而语,硬件需要也翻天覆地

安迪-比尔定律还有一个特点,那就是摩尔定律作用越明显、更迭越迅速的平台,越容易发生软件臃肿化现象。有个好的反例就是游戏机平台,游戏机的硬件升级极慢,数年都不换,而游戏对硬件的要求,却没有水涨船高,甚至还出现越后期的游戏,对硬件的优化越好的情况。这主要是因为封闭而稳定的平台,有利于开发者深耕细作。而一年一换甚至半年一换的手机,压根没法做到这点,软件应用不得不尾随进化神速的硬件平台更新,优化效果难以保证,也是理所当然的了。

系统、软件驱动越升越卡?负优化与安迪比尔定律
移动平台进化速度最快,所以“负优化”也是最明显的,App和系统都普遍越来越卡

简单来说,为了充分利用新硬件的性能,软件开发商会想办法在软件中塞入更多的特性功能,而这些东西,对老硬件却是不友好的。破除安迪-比尔定律带来的“负优化”,唯一之道就是钱包君,大家努力赚钱吧。

开发疏忽造成的“负优化”:不上心

虽说因为安迪-比尔定律,软件的“负优化”发展几乎是必然的,但在历史的洪流中,也有人为过失造成的翻船。一些坑爹的“负优化”,完全是自作自受,别想把锅甩到“大势所趋”身上。这往往是因为开发者的能力有限或者疏忽所造成的,下面就举一些例子,大家可以感受感受。

◆Android音频架构

长久以来,在机友中流传这这样一个说法:Android手机的音质远不如iOS。事实是否真的如此?在大多数情况下,这种说法的确是成立的。原因很简单,Google对Android音频部分不上心,一些不当设计,造成了Android音质的“负优化”。

在Android 2.X时代,在音质上存在一个非常严重的SRC问题。所谓的SRC问题,指的是音频采样率重采样,例如采样率44.1kHz的音频被SRC到48kHz。这种非整数倍的SRC,会造成音质损失。在Android 2.X时代,Android系统会把48kHz的音频强制转换到44.1kHz,之后,高通芯片又会把44.1kHz强制SRC到48kHz输出,两次非整数倍的SRC后,音质惨不忍睹,这就是为何高通 Android会造成音质惨案的原因。

系统、软件驱动越升越卡?负优化与安迪比尔定律
非整数倍的SRC会对原始波形造成破坏,损坏音质

这个问题是否可以避免?其实通过对底层音频驱动的修改,是可以解决问题的。但是,Google和高通并没有采取正确的解决方案。Google和高通为了解决音质劣化的问题,所推出的新方案并不是根据原始音频自动切换输出采样率,而是使用高精度算法进行SRC。在高通的QRD方案中,使用高通芯片的Android系统音频会强制SRC到48kHz,SRC的新算法效果不错,和之前比,音质的确有所进步。

但是,这并没有从根本上解决问题,无论非整数倍的SRC多么高精度,仍不可避免地会带来音质劣化。同时,高精度的SRC算法对硬件也有很高的需求,这造成了一些手机放歌卡顿、发热、耗电甚至爆音。这些负面影响,在Google自己的Nexus手机上就有出现,系统资源吃紧的时候,体验比之前还更差。

系统、软件驱动越升越卡?负优化与安迪比尔定律
现在很多国产手机打Hifi的口号,Hifi与否先不说,但它们当中的确很多都解决了SRC

那么问题如何彻底解决?其实第三方手机厂商,已经交出了答卷——只要输出正确的采样率、不进行SRC即可。很多手机厂商,特别是国内厂商例如VIVO、魅族、小米等等厂商都解决了SRC问题,这甚至比Google改进SRC算法的时间更早。同时,XDA论坛也有野生的开发者给出了彻底解决SRC的方案。然而,Google官方的原生系统至今仍未彻底解决,Android L发布时就说优化了音质,但直到现在Android音质仍有缺陷。这种音质上的“负优化”,实在不应该出现。

◆游戏移植

为了让新玩家感受到老游戏的魅力,很多厂商都会把老游戏移植到新平台上。如果是考虑得比较妥当的开发商,会充分发掘新平台的优势,让老游戏展现得更有魅力。然而现实很残酷,更多的情况是,移植的游戏不仅没有被优化,而且还会出现“负优化”,能玩就不错了!

移植游戏被“负优化”的情况是很普遍的。例如光荣出品的《生或死5》,从游戏机上移植到了性能更强的PC平台,不仅画质下降,还砍掉了乳摇等卖点;又例如《忍龙2》,从PS3移植到PSV,画质降低可以理解,但无法完成游戏这点就难以理解了——这游戏有一个关卡是需要两个玩家合作(AI无法胜任)通过才能获得奖杯的,但PSV版取消了联机功能,获得奖杯成为了不可能的事情。这些“负优化”,显然是不应该出现的。

系统、软件驱动越升越卡?负优化与安迪比尔定律
在游戏机平台上好评如潮的游戏,登陆PC后收获一堆差评,可想而知是怎样的“负优化”

移植游戏也不是没有优化得好的例子,例如《最后生还者》的PS4移植版,优化效果就有口皆碑。但是更多的游戏厂商只是想在新平台随便应付坑一笔钱,连冷饭都懒得炒好,导致了“负优化”。

◆杀软更新造成误杀

如果说上面的“负优化”只是影响使用,那么这种就真的可以算是破坏生产了。不少杀软在更新病毒库的时候,都出现过大面积的误杀,甚至会把系统文件杀掉,造成无法开机的情况!例如,Avast“2009-12-03-0”病毒库就出现过大面积误杀,McAfee的“DAT 5664”病毒库曾把系统文件当成病毒来杀导致蓝屏,诺顿也出现过类似情况。

系统、软件驱动越升越卡?负优化与安迪比尔定律
不少杀软都闹过误杀乌龙,甚至导致蓝屏

病毒库更新本来是为了优化杀软的反病毒性能,但因此造成误杀事故,显然是测试不充分造成的。这种“负优化”,完全不该发生。

除了上文的例子,还有很多因为人为疏忽造成的“负优化”,这里就不一一举例了。这些“负优化”,有时候用户都知道该如何解决,但厂商就是不用心,没动作,非常气人。

最没良心的“负优化”:利益驱动

如果说前面因为人为疏忽造成的“负优化”只是气人,那么下面要说的因为利益驱动而故意造成的“负优化”,简直就是犯罪了。现在的风气非常不好,一些开发商为了眼前的利益,拼命把应用软件做得流氓,软件变流氓的同时,自然而然也带来了“负优化”。

不知道从什么时候开始,各种软件突然变得很喜欢把奇怪的东西塞进自己里面。一个好好的聊天软件,突然就多出了新闻浏览安全杀毒等功能;一个好好的浏览器,突然就多出了安全杀毒社交聊天等功能;一个好好的杀毒软件,突然就多出了社交聊天新闻浏览等功能。平时装三个软件可以得到三种功能,现在装三个软件得到九种功能,什么你说都是功能重复的?我听不到。总之就是一片顶三片,疗效特好,专治电脑性能过高!

系统、软件驱动越升越卡?负优化与安迪比尔定律
聊天软件都自带一个应用商店,就问你怕不怕

这些行为的背后,是有利益驱动的。目前IT业界正处于从桌面端迁移到移动端、从本地迁移到云端的剧烈转型期,新兴的应用环境层出不穷。受业界大环境的影响,专精于某一项功能的软件变得越来越少,开发者们恨不得用一个安装包就统治了用户的使用环境,为前途和钱途铺好路。在这种指导思想下,打铁的也开始割麦子,煮饭的也开始负责炼钢,各种软件应用都长了一堆多余的肥膘。

此外,国内一些软件工作者为了业绩,也会不顾用户体验,在产品中加入“负优化”。例如,一些公司是以软件应用的活跃度来对员工进行业绩考评的,于是开发部门就会动小心思,就算软件不运行,也在后台自动唤醒,以增加活跃度,这无疑会增加系统资源消耗,造成“负优化”。总之,在目前的大环境下,杀了两三个流氓,还有无数后来人。恐怕,在比较长的一段时间内,流氓软件带来的“负优化”,仍会持续拜访各位的手机电脑。

系统、软件驱动越升越卡?负优化与安迪比尔定律系统、软件驱动越升越卡?负优化与安迪比尔定律
Android平台上,随便查一个App的唤醒触发机制,都能吓死你

在游戏玩家中,还相传着一种驱动的负优化。例如,显卡厂商会用新驱动压制老显卡的性能,好让玩家们掏荷包购买新核弹。玩家们猜测,基于销售新显卡的利益考虑,厂商有用新驱动降低老显卡性能的动机。不过经过我们网站的实测,并非如此。下面是测试图表,大家一起来看看。

系统、软件驱动越升越卡?负优化与安迪比尔定律
老显卡GTX780Ti在不同版本驱动下的性能表现

系统、软件驱动越升越卡?负优化与安迪比尔定律
老显卡R9 290X在不同版本驱动下的性能表现

可以看到,无论是N卡A卡,新驱动在老卡上,都没有出现性能退步。更详细的内容,可以点击下面的文章查阅。

不过硬件驱动是不是真的一定没有负优化?也不尽然。有时候驱动更新也会带来一些问题,例如Win10就曾经自动更新N卡的驱动,导致出现故障。不过这些并不是基于利益的“负优化”,而是属于开发疏忽。实际上,修改驱动降低显卡性能也是需要人力时间成本的,而且很容易被揪到辫子,厂商应该还不至于去做这种下作的事情。

总结

“负优化”是否真的无法避免?根据“安迪-比尔定律”,从长远来看,软件对硬件的需求的确是节节上升的

。但是,也并不是没有新版比旧版优化得更好的软件,例如从Android 5到Android 7,从Vista到Win7,新版系统的确更有效率。而由于开发疏忽乃至利益驱动造成的“负优化”,要解决更是不存在技术上的问题。希望开发商能够多多为用户体验考虑,让产品少出现一些“负优化”吧。

内容加载中