開發(fā)人員指南:蘋果的64位A7芯片
譯文【2013年9月25日 51CTO外電頭條】今年蘋果iPhone 5S發(fā)布會上曝出的最大驚喜之一在于新一代手機(jī)上所搭載的A7芯片擁有“64位”光環(huán)。蘋果宣稱,新一代A7芯片擁有“臺式機(jī)級別的架構(gòu)”。
這塊64位處理器——也是我們在智能手機(jī)平臺上見到的第一款64位產(chǎn)品——意味著應(yīng)用程序現(xiàn)在已經(jīng)能夠以64位方式編寫并運(yùn)行。從理論上講,64位應(yīng)用程序的運(yùn)行速度更快、能源利用效率也更高。我們已經(jīng)聽說移動游戲行業(yè)向64位進(jìn)軍的打算(同時(shí)利用由A7芯片帶來的其它圖形處理能力提升),《無盡之劍3》也在發(fā)布會上放出了宣傳影像。
這一切聽起來似乎非常美好,但從消費(fèi)者的角度來看,64位又有哪些真正價(jià)值?如果各位身為開發(fā)人員,您是否會立即著手將自己的應(yīng)用轉(zhuǎn)化為64位版本?
移動時(shí)代下的64位計(jì)算
在這里我們不提微處理器的具體運(yùn)作方式,從最直觀的層面分析,64位處理器能夠處理更多內(nèi)存空間。有了額外的內(nèi)存容量,我們就能讓更為復(fù)雜的軟件——無論是圖形類軟件還是深層計(jì)算軟件——以更好、更快的方式進(jìn)行運(yùn)作,同時(shí)降低電量消耗。
在臺式機(jī)領(lǐng)域,向64位進(jìn)軍已經(jīng)成為必要之舉,因?yàn)檫@是幫助應(yīng)用程序及操作系統(tǒng)使用4GB以上內(nèi)存的根本性前提。內(nèi)存支持能力的擴(kuò)展可謂至關(guān)重要,特別是在游戲及圖形類應(yīng)用程序方面。
不過在移動計(jì)算領(lǐng)域,64位機(jī)制的優(yōu)勢則存在些許不同:
在移動計(jì)算領(lǐng)域,64位機(jī)制的優(yōu)勢存在些許不同。移動計(jì)算目前正迎來相當(dāng)夸張的發(fā)展速度,但我們的手機(jī)距離4GB內(nèi)存這一容量上限(搭載或者支持)還有很長的道路要走。此外,為手機(jī)賦予巨大內(nèi)存容量甚至并不明智,因?yàn)閮?nèi)存對于電能的消耗非常顯著,這意味著用戶的電池壽命將受到嚴(yán)重影響。
有鑒于此,既然不是為了突破4GB內(nèi)存障礙,我們?yōu)槭裁匆M(fèi)心在移動平臺上實(shí)現(xiàn)64位機(jī)制?早在上個(gè)月關(guān)于A7芯片將采用64位機(jī)制的傳聞流出時(shí),業(yè)界就已經(jīng)對此展開了廣泛討論。
采用64位處理器的首要意義在于,這類芯片能夠帶來更出色的每瓦計(jì)算性能。換言之,應(yīng)用程序及計(jì)算任務(wù)不會再像過去那樣迅速榨干用戶的電量儲備。
這一點(diǎn)在移動游戲方面表現(xiàn)得尤為明顯。誠然,A7所搭載的全新GPU才是提升游戲圖形處理能力的最大助力,但即使對于那些達(dá)不到數(shù)百萬像素、也不追求“主機(jī)級別”畫面的游戲,能源利用效率更高的處理器仍然能為其帶來收益。如果大家玩過“Candy Crush Saga”這款游戲,一定會對其恐怖的電源消耗記憶猶新——有時(shí)候即使是畫面相對簡陋的游戲也會成為夸張的電池殺手。
另外,64位機(jī)制還為我們指明了廣闊的發(fā)展前景——即使這些收益目前無法體現(xiàn),也必將在前進(jìn)的道路上發(fā)揮效力。
哪些應(yīng)用最適合64位機(jī)制?
說到這里,哪些類型的應(yīng)用程序及應(yīng)用開發(fā)人員能從64位機(jī)制中獲得最為立竿見影的收益?
“能從64位機(jī)制中獲得顯著提升的兩類應(yīng)用程序分別是游戲與科學(xué)/數(shù)字處理應(yīng)用,”經(jīng)驗(yàn)豐富的iOS開發(fā)老鳥Jonathan Wight表示。Wight同時(shí)舉例稱,Chris Liscio的音樂應(yīng)用Capo就是一款能從64位機(jī)制中獲益的典型軟件。
Vouc.hr公司軟件工程師Bryan Lahartinger也表示贊同,并指出“可能因此獲益的應(yīng)用程序包括圖形密度型游戲(例如<無盡之劍3>)或者其它一些需要處理大量數(shù)字的應(yīng)用,例如電子音樂合成器(Ocarina)。”
“但我認(rèn)為大部分應(yīng)用程序其實(shí)感受不到什么變化,”Wight表示——至今就目前來說是這樣。不過需要強(qiáng)調(diào)的是,這并不是指64位機(jī)制本身缺乏顯著的對比優(yōu)勢。“我認(rèn)為操作系統(tǒng)本身能夠因此迎來提升,設(shè)備整體的使用感受也會更好,尤其是在處理后臺任務(wù)的情況下。”
除此之外,并不是所有應(yīng)用程序都必然能從向64位的遷移中得到提升(至少目前不能)。Lahartinger指出,某些應(yīng)用在向64位機(jī)制過渡時(shí)可能會面臨“潛在的內(nèi)存占用問題”。“對于那些尚未經(jīng)過內(nèi)存使用優(yōu)化的應(yīng)用而言,這可能會影響應(yīng)用的運(yùn)行速度或者限制可資其它iPhone應(yīng)用使用的內(nèi)存容量,”他解釋稱。
幸運(yùn)的是,蘋果公司公布了應(yīng)用向64位機(jī)制轉(zhuǎn)化的流程(要求擁有蘋果開發(fā)者賬戶),其中包括介紹如何優(yōu)化內(nèi)存性能的整章說明。
蘋果同時(shí)要求所有制作64位應(yīng)用程序的開發(fā)人員為32位運(yùn)行提供必要支持。
與64位移動平臺的第一次接觸
與其第一時(shí)間嘗試將應(yīng)用程序編譯為64位版本,移動開發(fā)企業(yè)Gist Digital公司CTO Abhi Patwardhan建議開發(fā)人員首先確保自己的應(yīng)用程序能夠與iOS 7順利對接。
“開發(fā)人員需要做的第一件事在于專注應(yīng)用更新,從而與iOS 7及其設(shè)計(jì)變更保持一致。”
“開發(fā)人員需要做的第一件事在于專注應(yīng)用更新,從而與iOS 7及其設(shè)計(jì)變更保持一致,”他指出。“第二步才是利用Xcode 5實(shí)現(xiàn)64位轉(zhuǎn)化,同時(shí)深入閱讀開發(fā)者說明文檔。”
即使向64位轉(zhuǎn)化能夠帶來確切而顯著的性能提升,大家最好還是在動手之前先做一番認(rèn)真考量。根據(jù)Lahartinger的說法,經(jīng)過全面研討,開發(fā)人員能夠相對輕松地著手64位應(yīng)用轉(zhuǎn)化并“立即享受5S 64位功能所帶來的優(yōu)勢”。他同時(shí)指出,這“將大幅提升應(yīng)用程序的實(shí)際表現(xiàn)”。
他還為開發(fā)人員提出一系列建議,稱:“大家應(yīng)該認(rèn)真考慮一系列狀況,包括數(shù)據(jù)類型大小以及由此給應(yīng)用程序性能帶來的影響。并不是所有應(yīng)用都能在64位機(jī)制下?lián)碛懈錾谋憩F(xiàn),而且如果不加干預(yù)、大部分影響都將以負(fù)面狀態(tài)出現(xiàn)。”
多數(shù)開發(fā)人員需要在9月20號之后才能在iPhone 5S實(shí)體硬件上測試64位環(huán)境。我曾與很多開發(fā)者聊起過這個(gè)話題,他們紛紛表示不會在iPhone 5S正式上市之前輕易涉足應(yīng)用程序的64位轉(zhuǎn)化。
潛在的統(tǒng)一世界:OS X與iOS
iOS與OS X基于同樣的核心操作系統(tǒng)與內(nèi)核。然而,兩款操作系統(tǒng)的運(yùn)行方式差異巨大,處理數(shù)據(jù)及代碼的機(jī)制也略有區(qū)別。
最近幾年以來,我們已經(jīng)明顯感受到iOS對OS X設(shè)計(jì)思路產(chǎn)生的影響,同時(shí)也看到OS X在潛移默化中改變著iOS中的后端API。
當(dāng)聽聞蘋果公司公布其64位A7處理器時(shí),我的第一反應(yīng)是“這對于統(tǒng)一化操作系統(tǒng)戰(zhàn)略意味著什么?”——如果ARM處理器真能夠像英特爾芯片那樣同時(shí)運(yùn)行iOS與OS X應(yīng)用,那么統(tǒng)一平臺的到來將指日可待。
在查閱蘋果的64位iOS 7說明文檔時(shí),我發(fā)現(xiàn)了一段有趣的表述(段中的加粗字體):
iOS上的64位應(yīng)用程序架構(gòu)與OS X應(yīng)用非常相近,這使得令同一套通用代碼庫運(yùn)行在兩套操作系統(tǒng)中變得更加簡單。
這相當(dāng)于指明了一種可能性。盡管iOS與原生OS X應(yīng)用都由Objective-C所編寫——分別利用Cocoa與Cocoa Touch框架——但在兩套平臺之間共享代碼對于開發(fā)人員來說并不總是輕松可行。
要說蘋果在開發(fā)者說明文檔中想要表達(dá)的潛臺詞,很可能是指64位趨勢能夠使Mac應(yīng)用開發(fā)人員更輕松地將一部分應(yīng)用移植到iOS平臺上——或者說正好相反。
這將帶來無窮的可能性,特別是對于iPad這類尺寸較大的移動設(shè)備而言,Pixelmator或者Acorn等對性能要求較高的圖形類應(yīng)用很可能成功登陸iOS。
不要被消極情緒所迷惑
目前很多專家對64位嗤之以鼻,認(rèn)為這種特性在當(dāng)下來看“并不重要”。但事實(shí)恰恰相反,這幫專家大肆鼓吹的四核心乃至八核心智能手機(jī)才真的“并不重要”(想都不用想,絕大多數(shù)應(yīng)用程序根本不支持雙核以上的計(jì)算性能——這種多核心方案的理論計(jì)算能力要遠(yuǎn)超過實(shí)際性能表現(xiàn))。
不過沒人指望所有iOS應(yīng)用會在一夜之間就轉(zhuǎn)型為64位版本——需要強(qiáng)調(diào)的是,iPhone 5S是目前惟一一款擁有64位芯片的iOS設(shè)備;因此我們還要再等上幾年才能讓64位機(jī)制普及到整個(gè)蘋果產(chǎn)品線當(dāng)中,這一點(diǎn)各位千萬不能忽略。
即使我們假定這一切能在短時(shí)間內(nèi)完成,也仍然只有數(shù)字處理與圖形密集型應(yīng)用能夠從64位機(jī)制中顯著獲益。有限的效果恐怕無法很快給應(yīng)用程序生態(tài)系統(tǒng)帶來整體變革。
我已經(jīng)迫不及待想看看那些原本懼怕移動應(yīng)用開發(fā)的技術(shù)人員——他們的主要顧慮在于移動處理器那略顯孱弱的性能——如何在64位機(jī)制的強(qiáng)大助力下將優(yōu)秀的臺式機(jī)應(yīng)用推向移動平臺。