系統(tǒng)、軟件驅(qū)動(dòng)越升越卡?負(fù)優(yōu)化與安迪比爾定律
掃描二維碼
隨時(shí)隨地手機(jī)看文章
對(duì)于“負(fù)優(yōu)化”,大家都談?wù)摿撕芏?。顯卡玩家談?wù)?ldquo;負(fù)優(yōu)化”,談的是氫彈變?cè)訌棧买?qū)動(dòng)一出老卡性能不升反降;手機(jī)玩家談?wù)?ldquo;負(fù)優(yōu)化”,談的是新系統(tǒng)推送天地滅,iPhone瞬間卡得像塞班。
沒錯(cuò),在這個(gè)高速發(fā)展的信息時(shí)代,新軟件新技術(shù)層出不窮,然而這些新事物帶給用戶的,卻并不一定是更好的體驗(yàn)。軟件、系統(tǒng)、驅(qū)動(dòng)等等,新版比老版坑爹的情況,似乎并不是都市傳說。“負(fù)優(yōu)化”現(xiàn)象真的存在嗎?如果真的有,為什么開發(fā)者會(huì)如此喂屎?今天,就讓我們來談?wù)?ldquo;負(fù)優(yōu)化”的話題吧。
新軟件不可避免“負(fù)優(yōu)化”:安迪-比爾定律
按理來說,新產(chǎn)品需要有所優(yōu)化,比舊產(chǎn)品的用戶體驗(yàn)更好,消費(fèi)者才會(huì)買單,但新軟件比舊軟件更慢更卡的現(xiàn)象,卻層出不窮。遠(yuǎn)有Windows Vista肆虐用戶內(nèi)存慘案,近有iOS新系統(tǒng)狂殺App后臺(tái)悲劇,新版軟件對(duì)比舊版,體驗(yàn)還真不一定更好。
盡管蘋果軟硬件結(jié)合出色,但新版的iOS在性能方面往往是“負(fù)優(yōu)化”
為什么會(huì)變成這樣呢?新版軟件帶來了更漂亮的界面和更強(qiáng)大的功能,兩者結(jié)合在一起,本應(yīng)帶來更好的用戶體驗(yàn);沉浸在全新用戶體驗(yàn)的美好時(shí)光,本來已經(jīng)觸手可及,然而,為什么會(huì)變成這樣?這就不得不提到聞名業(yè)界的“安迪-比爾定律”。
所謂安迪-比爾定律,安迪指的是Intel前CEO安迪-魯夫,比爾則是大家都知道的比爾-蓋茨。這條定律可是把這兩位IT大佬狠狠黑了一把啊。
安迪-比爾定律的含義就是,安迪給啥,比爾拿啥;Intel產(chǎn)多猛的硬件,微軟會(huì)用越來越臃腫的系統(tǒng)和軟件統(tǒng)統(tǒng)吃掉增長(zhǎng)的硬件性能。雖然這定律說的是Intel和微軟,但套在其他軟硬件廠商身上,也沒什么違和感。安迪-比爾定律,實(shí)質(zhì)上所描述的,就是軟件臃腫化的問題。
Intel的安迪微軟的比爾,這定律可讓W(xué)intel聯(lián)盟大賺了不少
無論是新軟件更漂亮的界面,還是更強(qiáng)勁的功能,都是需要更強(qiáng)大的硬件作為基礎(chǔ)的,總不能要求奔騰MMX能跑得動(dòng)Win系統(tǒng)的Aero特效。摩爾定律讓“芯片每18個(gè)月性能提高一倍,價(jià)格減半”,但安迪-比爾定律足以讓摩爾定律無功而返。而如果你的錢包沒有跟上摩爾定律的增長(zhǎng),沒更換新硬件,就難以享受到新軟件帶來的快感,安迪-比爾定律作用下,新軟件也就變成了“負(fù)優(yōu)化”。
QQ的功能和界面都和十幾年前不可同日而語(yǔ),硬件需要也翻天覆地
安迪-比爾定律還有一個(gè)特點(diǎn),那就是摩爾定律作用越明顯、更迭越迅速的平臺(tái),越容易發(fā)生軟件臃腫化現(xiàn)象。有個(gè)好的反例就是游戲機(jī)平臺(tái),游戲機(jī)的硬件升級(jí)極慢,數(shù)年都不換,而游戲?qū)τ布囊?,卻沒有水漲船高,甚至還出現(xiàn)越后期的游戲,對(duì)硬件的優(yōu)化越好的情況。這主要是因?yàn)榉忾]而穩(wěn)定的平臺(tái),有利于開發(fā)者深耕細(xì)作。而一年一換甚至半年一換的手機(jī),壓根沒法做到這點(diǎn),軟件應(yīng)用不得不尾隨進(jìn)化神速的硬件平臺(tái)更新,優(yōu)化效果難以保證,也是理所當(dāng)然的了。
移動(dòng)平臺(tái)進(jìn)化速度最快,所以“負(fù)優(yōu)化”也是最明顯的,App和系統(tǒng)都普遍越來越卡
簡(jiǎn)單來說,為了充分利用新硬件的性能,軟件開發(fā)商會(huì)想辦法在軟件中塞入更多的特性功能,而這些東西,對(duì)老硬件卻是不友好的。破除安迪-比爾定律帶來的“負(fù)優(yōu)化”,唯一之道就是錢包君,大家努力賺錢吧。
開發(fā)疏忽造成的“負(fù)優(yōu)化”:不上心
雖說因?yàn)榘驳?比爾定律,軟件的“負(fù)優(yōu)化”發(fā)展幾乎是必然的,但在歷史的洪流中,也有人為過失造成的翻船。一些坑爹的“負(fù)優(yōu)化”,完全是自作自受,別想把鍋甩到“大勢(shì)所趨”身上。這往往是因?yàn)殚_發(fā)者的能力有限或者疏忽所造成的,下面就舉一些例子,大家可以感受感受。
◆Android音頻架構(gòu)
長(zhǎng)久以來,在機(jī)友中流傳這這樣一個(gè)說法:Android手機(jī)的音質(zhì)遠(yuǎn)不如iOS。事實(shí)是否真的如此?在大多數(shù)情況下,這種說法的確是成立的。原因很簡(jiǎn)單,Google對(duì)Android音頻部分不上心,一些不當(dāng)設(shè)計(jì),造成了Android音質(zhì)的“負(fù)優(yōu)化”。
在Android 2.X時(shí)代,在音質(zhì)上存在一個(gè)非常嚴(yán)重的SRC問題。所謂的SRC問題,指的是音頻采樣率重采樣,例如采樣率44.1kHz的音頻被SRC到48kHz。這種非整數(shù)倍的SRC,會(huì)造成音質(zhì)損失。在Android 2.X時(shí)代,Android系統(tǒng)會(huì)把48kHz的音頻強(qiáng)制轉(zhuǎn)換到44.1kHz,之后,高通芯片又會(huì)把44.1kHz強(qiáng)制SRC到48kHz輸出,兩次非整數(shù)倍的SRC后,音質(zhì)慘不忍睹,這就是為何高通 Android會(huì)造成音質(zhì)慘案的原因。
非整數(shù)倍的SRC會(huì)對(duì)原始波形造成破壞,損壞音質(zhì)
這個(gè)問題是否可以避免?其實(shí)通過對(duì)底層音頻驅(qū)動(dòng)的修改,是可以解決問題的。但是,Google和高通并沒有采取正確的解決方案。Google和高通為了解決音質(zhì)劣化的問題,所推出的新方案并不是根據(jù)原始音頻自動(dòng)切換輸出采樣率,而是使用高精度算法進(jìn)行SRC。在高通的QRD方案中,使用高通芯片的Android系統(tǒng)音頻會(huì)強(qiáng)制SRC到48kHz,SRC的新算法效果不錯(cuò),和之前比,音質(zhì)的確有所進(jìn)步。
但是,這并沒有從根本上解決問題,無論非整數(shù)倍的SRC多么高精度,仍不可避免地會(huì)帶來音質(zhì)劣化。同時(shí),高精度的SRC算法對(duì)硬件也有很高的需求,這造成了一些手機(jī)放歌卡頓、發(fā)熱、耗電甚至爆音。這些負(fù)面影響,在Google自己的Nexus手機(jī)上就有出現(xiàn),系統(tǒng)資源吃緊的時(shí)候,體驗(yàn)比之前還更差。
現(xiàn)在很多國(guó)產(chǎn)手機(jī)打Hifi的口號(hào),Hifi與否先不說,但它們當(dāng)中的確很多都解決了SRC
那么問題如何徹底解決?其實(shí)第三方手機(jī)廠商,已經(jīng)交出了答卷——只要輸出正確的采樣率、不進(jìn)行SRC即可。很多手機(jī)廠商,特別是國(guó)內(nèi)廠商例如VIVO、魅族、小米等等廠商都解決了SRC問題,這甚至比Google改進(jìn)SRC算法的時(shí)間更早。同時(shí),XDA論壇也有野生的開發(fā)者給出了徹底解決SRC的方案。然而,Google官方的原生系統(tǒng)至今仍未徹底解決,Android L發(fā)布時(shí)就說優(yōu)化了音質(zhì),但直到現(xiàn)在Android音質(zhì)仍有缺陷。這種音質(zhì)上的“負(fù)優(yōu)化”,實(shí)在不應(yīng)該出現(xiàn)。
◆游戲移植
為了讓新玩家感受到老游戲的魅力,很多廠商都會(huì)把老游戲移植到新平臺(tái)上。如果是考慮得比較妥當(dāng)?shù)拈_發(fā)商,會(huì)充分發(fā)掘新平臺(tái)的優(yōu)勢(shì),讓老游戲展現(xiàn)得更有魅力。然而現(xiàn)實(shí)很殘酷,更多的情況是,移植的游戲不僅沒有被優(yōu)化,而且還會(huì)出現(xiàn)“負(fù)優(yōu)化”,能玩就不錯(cuò)了!
移植游戲被“負(fù)優(yōu)化”的情況是很普遍的。例如光榮出品的《生或死5》,從游戲機(jī)上移植到了性能更強(qiáng)的PC平臺(tái),不僅畫質(zhì)下降,還砍掉了乳搖等賣點(diǎn);又例如《忍龍2》,從PS3移植到PSV,畫質(zhì)降低可以理解,但無法完成游戲這點(diǎn)就難以理解了——這游戲有一個(gè)關(guān)卡是需要兩個(gè)玩家合作(AI無法勝任)通過才能獲得獎(jiǎng)杯的,但PSV版取消了聯(lián)機(jī)功能,獲得獎(jiǎng)杯成為了不可能的事情。這些“負(fù)優(yōu)化”,顯然是不應(yīng)該出現(xiàn)的。
在游戲機(jī)平臺(tái)上好評(píng)如潮的游戲,登陸PC后收獲一堆差評(píng),可想而知是怎樣的“負(fù)優(yōu)化”
移植游戲也不是沒有優(yōu)化得好的例子,例如《最后生還者》的PS4移植版,優(yōu)化效果就有口皆碑。但是更多的游戲廠商只是想在新平臺(tái)隨便應(yīng)付坑一筆錢,連冷飯都懶得炒好,導(dǎo)致了“負(fù)優(yōu)化”。
◆殺軟更新造成誤殺
如果說上面的“負(fù)優(yōu)化”只是影響使用,那么這種就真的可以算是破壞生產(chǎn)了。不少殺軟在更新病毒庫(kù)的時(shí)候,都出現(xiàn)過大面積的誤殺,甚至?xí)严到y(tǒng)文件殺掉,造成無法開機(jī)的情況!例如,Avast“2009-12-03-0”病毒庫(kù)就出現(xiàn)過大面積誤殺,McAfee的“DAT 5664”病毒庫(kù)曾把系統(tǒng)文件當(dāng)成病毒來殺導(dǎo)致藍(lán)屏,諾頓也出現(xiàn)過類似情況。
不少殺軟都鬧過誤殺烏龍,甚至導(dǎo)致藍(lán)屏
病毒庫(kù)更新本來是為了優(yōu)化殺軟的反病毒性能,但因此造成誤殺事故,顯然是測(cè)試不充分造成的。這種“負(fù)優(yōu)化”,完全不該發(fā)生。
除了上文的例子,還有很多因?yàn)槿藶槭韬鲈斐傻?ldquo;負(fù)優(yōu)化”,這里就不一一舉例了。這些“負(fù)優(yōu)化”,有時(shí)候用戶都知道該如何解決,但廠商就是不用心,沒動(dòng)作,非常氣人。
最沒良心的“負(fù)優(yōu)化”:利益驅(qū)動(dòng)
如果說前面因?yàn)槿藶槭韬鲈斐傻?ldquo;負(fù)優(yōu)化”只是氣人,那么下面要說的因?yàn)槔骝?qū)動(dòng)而故意造成的“負(fù)優(yōu)化”,簡(jiǎn)直就是犯罪了?,F(xiàn)在的風(fēng)氣非常不好,一些開發(fā)商為了眼前的利益,拼命把應(yīng)用軟件做得流氓,軟件變流氓的同時(shí),自然而然也帶來了“負(fù)優(yōu)化”。
不知道從什么時(shí)候開始,各種軟件突然變得很喜歡把奇怪的東西塞進(jìn)自己里面。一個(gè)好好的聊天軟件,突然就多出了新聞瀏覽安全殺毒等功能;一個(gè)好好的瀏覽器,突然就多出了安全殺毒社交聊天等功能;一個(gè)好好的殺毒軟件,突然就多出了社交聊天新聞瀏覽等功能。平時(shí)裝三個(gè)軟件可以得到三種功能,現(xiàn)在裝三個(gè)軟件得到九種功能,什么你說都是功能重復(fù)的?我聽不到。總之就是一片頂三片,療效特好,專治電腦性能過高!
聊天軟件都自帶一個(gè)應(yīng)用商店,就問你怕不怕
這些行為的背后,是有利益驅(qū)動(dòng)的。目前IT業(yè)界正處于從桌面端遷移到移動(dòng)端、從本地遷移到云端的劇烈轉(zhuǎn)型期,新興的應(yīng)用環(huán)境層出不窮。受業(yè)界大環(huán)境的影響,專精于某一項(xiàng)功能的軟件變得越來越少,開發(fā)者們恨不得用一個(gè)安裝包就統(tǒng)治了用戶的使用環(huán)境,為前途和錢途鋪好路。在這種指導(dǎo)思想下,打鐵的也開始割麥子,煮飯的也開始負(fù)責(zé)煉鋼,各種軟件應(yīng)用都長(zhǎng)了一堆多余的肥膘。
此外,國(guó)內(nèi)一些軟件工作者為了業(yè)績(jī),也會(huì)不顧用戶體驗(yàn),在產(chǎn)品中加入“負(fù)優(yōu)化”。例如,一些公司是以軟件應(yīng)用的活躍度來對(duì)員工進(jìn)行業(yè)績(jī)考評(píng)的,于是開發(fā)部門就會(huì)動(dòng)小心思,就算軟件不運(yùn)行,也在后臺(tái)自動(dòng)喚醒,以增加活躍度,這無疑會(huì)增加系統(tǒng)資源消耗,造成“負(fù)優(yōu)化”??傊?,在目前的大環(huán)境下,殺了兩三個(gè)流氓,還有無數(shù)后來人??峙?,在比較長(zhǎng)的一段時(shí)間內(nèi),流氓軟件帶來的“負(fù)優(yōu)化”,仍會(huì)持續(xù)拜訪各位的手機(jī)電腦。
Android平臺(tái)上,隨便查一個(gè)App的喚醒觸發(fā)機(jī)制,都能嚇?biāo)滥?/p>
在游戲玩家中,還相傳著一種驅(qū)動(dòng)的負(fù)優(yōu)化。例如,顯卡廠商會(huì)用新驅(qū)動(dòng)壓制老顯卡的性能,好讓玩家們掏荷包購(gòu)買新核彈。玩家們猜測(cè),基于銷售新顯卡的利益考慮,廠商有用新驅(qū)動(dòng)降低老顯卡性能的動(dòng)機(jī)。不過經(jīng)過我們網(wǎng)站的實(shí)測(cè),并非如此。下面是測(cè)試圖表,大家一起來看看。
老顯卡GTX780Ti在不同版本驅(qū)動(dòng)下的性能表現(xiàn)
老顯卡R9 290X在不同版本驅(qū)動(dòng)下的性能表現(xiàn)
可以看到,無論是N卡A卡,新驅(qū)動(dòng)在老卡上,都沒有出現(xiàn)性能退步。更詳細(xì)的內(nèi)容,可以點(diǎn)擊下面的文章查閱。
不過硬件驅(qū)動(dòng)是不是真的一定沒有負(fù)優(yōu)化?也不盡然。有時(shí)候驅(qū)動(dòng)更新也會(huì)帶來一些問題,例如Win10就曾經(jīng)自動(dòng)更新N卡的驅(qū)動(dòng),導(dǎo)致出現(xiàn)故障。不過這些并不是基于利益的“負(fù)優(yōu)化”,而是屬于開發(fā)疏忽。實(shí)際上,修改驅(qū)動(dòng)降低顯卡性能也是需要人力時(shí)間成本的,而且很容易被揪到辮子,廠商應(yīng)該還不至于去做這種下作的事情。
總結(jié)
“負(fù)優(yōu)化”是否真的無法避免?根據(jù)“安迪-比爾定律”,從長(zhǎng)遠(yuǎn)來看,軟件對(duì)硬件的需求的確是節(jié)節(jié)上升的。
但是,也并不是沒有新版比舊版優(yōu)化得更好的軟件,例如從Android 5到Android 7,從Vista到Win7,新版系統(tǒng)的確更有效率。而由于開發(fā)疏忽乃至利益驅(qū)動(dòng)造成的“負(fù)優(yōu)化”,要解決更是不存在技術(shù)上的問題。希望開發(fā)商能夠多多為用戶體驗(yàn)考慮,讓產(chǎn)品少出現(xiàn)一些“負(fù)優(yōu)化”吧。