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