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