ARM已經(jīng)公布了一組測試結(jié)果,旨在驗(yàn)證英特爾的x86解決方案在現(xiàn)有Android環(huán)境下的實(shí)際運(yùn)作效果是否與其宣傳相符。
第一組測試的內(nèi)容是將完全沒有經(jīng)過重新編譯的原生應(yīng)用程序運(yùn)行在基于英特爾架構(gòu)的Android設(shè)備之上,這些應(yīng)用程序需要利用“二進(jìn)制翻譯”機(jī)制進(jìn)行模擬、從而將原生ARM代碼轉(zhuǎn)換成原生英特爾x86代碼。
英特爾公司表示用戶對此無需擔(dān)心——其二進(jìn)制翻譯器只會“對性能造成極為輕微的影響”,而且“在大部分應(yīng)用程序中這種性能影響根本不會被察覺?!比欢绱蠹宜希珹RM對這一結(jié)論表示無法茍同。
“無論大家曾經(jīng)查閱過或者聽取過怎樣的解釋說明,二進(jìn)制翻譯機(jī)制對于用戶的使用體驗(yàn)以及系統(tǒng)性能都會造成相當(dāng)嚴(yán)重的影響,”ARM高級技術(shù)營銷工程師Rod Watt在該公司本周于德克薩斯州奧斯汀市舉辦的2014 Tech Day大會上向與會者們解釋稱。
Watt給出的結(jié)論完全基于他本人親自得到的測試結(jié)果。他所使用的基準(zhǔn)與游戲性能測試機(jī)制由中文網(wǎng)站“愛搞機(jī)”提供。
在進(jìn)行此次性能與功耗測試之前,Watt首先確認(rèn)了到底有多少款熱門Android應(yīng)用需要經(jīng)過翻譯以運(yùn)行在基于x86架構(gòu)的Android設(shè)備之上。為了得出確切結(jié)論,他通過兩論篩選指定了總計100款應(yīng)用程序,即在線Google Play軟件商店上的前25位免費(fèi)與付費(fèi)應(yīng)用外加前25位免費(fèi)與付費(fèi)游戲。
Watt將全部注意重點(diǎn)放在了包含原生代碼的應(yīng)用程序在x86平臺上的性能表現(xiàn)。不過需要強(qiáng)調(diào)的是,在他所調(diào)查的這100款應(yīng)用當(dāng)中僅有約20%能夠在Android Dalvik虛擬機(jī)上完美運(yùn)行;其它應(yīng)用則或多或少包含了一部分系統(tǒng)中的原生組件。
他得出的結(jié)論多少令人有些吃驚。盡管利用Android原生開發(fā)套件(簡稱NDK)能夠相對輕松地實(shí)現(xiàn)由32位ARMv7 Android應(yīng)用向原生x86應(yīng)用的移植,但他在2013年7月進(jìn)行的這次測試中仍有42%的熱門應(yīng)用需要經(jīng)過二進(jìn)制翻譯處理才能正常運(yùn)行;而到了今年1月,他在第二輪測試中發(fā)現(xiàn)這一比例上升到了44%。
你們對x86 Android應(yīng)用的轉(zhuǎn)換情況作何感想,英特爾?(點(diǎn)擊放大)
更重要的是——請雇,這些都只是Watt公布的數(shù)據(jù),我們并沒有對其加以驗(yàn)證——這100款熱門應(yīng)用當(dāng)中的原生x86 Android應(yīng)用數(shù)量也由去年7月的30款下降至今年1月的23款,而即使經(jīng)過二進(jìn)制翻譯也仍然無法運(yùn)行的應(yīng)用數(shù)量則由6款上升至9款。
當(dāng)然,開發(fā)人員可能擁有多種多樣且極為充分的理由而沒有選擇使用Android NDK來將其應(yīng)用成品移植至x86平臺——例如需要為測試工作投入時間或者懶得多此一舉——但Watt則對此作出了更為直觀的分析結(jié)論?!叭缃褚苿宇I(lǐng)域早已是ARM的天下,”他指出。“開發(fā)人員們就是在面向ARM環(huán)境編寫代碼,他們根本沒必要考慮英特爾平臺?!?/P>
也許這些為ARM架構(gòu)編寫應(yīng)用的開發(fā)人員應(yīng)該重新思考自己放棄將軟件移植到x86 Android環(huán)境下的決定。因?yàn)槿绻鸚att通過“愛搞機(jī)”網(wǎng)站所獲得的性能測試數(shù)據(jù)準(zhǔn)確可信,那么移植與不移植在運(yùn)行效果上真的存在巨大差異。
該網(wǎng)站的一眾中國測試者們在一臺聯(lián)想K800智能手機(jī)(采用英特爾凌動Z2460處理器)上運(yùn)行了多項(xiàng)基準(zhǔn)測試以及由虛幻3引擎開發(fā)的《史詩城堡》游戲,后者的測試過程分為原生運(yùn)行與二進(jìn)制翻譯模式兩種。
在“愛搞機(jī)”網(wǎng)站的測試中,將二進(jìn)制翻譯機(jī)制描述為“對性能有所影響”實(shí)在是太過輕描淡寫了。正如Watt所指出,二進(jìn)制翻譯機(jī)制的介入導(dǎo)致幾乎每一項(xiàng)性能指標(biāo)都出現(xiàn)了60%甚至80%的顯著下降。
“愛搞機(jī)”網(wǎng)站得出結(jié)論——性能更糟糕、功耗更夸張(點(diǎn)擊放大)
除此之外,《史詩城堡》游戲在原生運(yùn)行狀態(tài)下的每秒幀數(shù)為49.5幀、經(jīng)過二進(jìn)制翻譯處理后只剩下31.2幀,而且二進(jìn)制翻譯還導(dǎo)致設(shè)備的CPU占用率由前者的58.9%上升到73.4%。再有,應(yīng)用運(yùn)行時的耗電量也由621毫安增長到717毫安——這對于極為重要的智能手機(jī)電池使用時間來說無疑不是個好消息。
我們可以初步假設(shè),這一切都是那該死的翻譯機(jī)制搞出的后果。從實(shí)際情況來看,Watt發(fā)現(xiàn)二進(jìn)制翻譯還給Primate Lab的Geekbench 3.1.4基準(zhǔn)套件中的各個組件帶來了持續(xù)性影響——這種影響在該套件運(yùn)行在原生ARMv7模式與x86翻譯模式下都始終存在。