【2013年9月25日 51CTO外电头条】今年苹果iPhone 5S发布会上曝出的最大惊喜之一在于新一代手机上所搭载的A7芯片拥有“64位”光环。苹果宣称,新一代A7芯片拥有“台式机级别的架构”。
这块64位处理器——也是我们在智能手机平台上见到的第一款64位产品——意味着应用程序现在已经能够以64位方式编写并运行。从理论上讲,64位应用程序的运行速度更快、能源利用效率也更高。我们已经听说移动游戏行业向64位进军的打算(同时利用由A7芯片带来的其它图形处理能力提升),《无尽之剑3》也在发布会上放出了宣传影像。
这一切听起来似乎非常美好,但从消费者的角度来看,64位又有哪些真正价值?如果各位身为开发人员,您是否会立即着手将自己的应用转化为64位版本?
移动时代下的64位计算
在这里我们不提微处理器的具体运作方式,从最直观的层面分析,64位处理器能够处理更多内存空间。有了额外的内存容量,我们就能让更为复杂的软件——无论是图形类软件还是深层计算软件——以更好、更快的方式进行运作,同时降低电量消耗。
在台式机领域,向64位进军已经成为必要之举,因为这是帮助应用程序及操作系统使用4GB以上内存的根本性前提。内存支持能力的扩展可谓至关重要,特别是在游戏及图形类应用程序方面。
不过在移动计算领域,64位机制的优势则存在些许不同:
在移动计算领域,64位机制的优势存在些许不同。移动计算目前正迎来相当夸张的发展速度,但我们的手机距离4GB内存这一容量上限(搭载或者支持)还有很长的道路要走。此外,为手机赋予巨大内存容量甚至并不明智,因为内存对于电能的消耗非常显著,这意味着用户的电池寿命将受到严重影响。
有鉴于此,既然不是为了突破4GB内存障碍,我们为什么要费心在移动平台上实现64位机制?早在上个月关于A7芯片将采用64位机制的传闻流出时,业界就已经对此展开了广泛讨论。
采用64位处理器的首要意义在于,这类芯片能够带来更出色的每瓦计算性能。换言之,应用程序及计算任务不会再像过去那样迅速榨干用户的电量储备。
这一点在移动游戏方面表现得尤为明显。诚然,A7所搭载的全新GPU才是提升游戏图形处理能力的最大助力,但即使对于那些达不到数百万像素、也不追求“主机级别”画面的游戏,能源利用效率更高的处理器仍然能为其带来收益。如果大家玩过“Candy Crush Saga”这款游戏,一定会对其恐怖的电源消耗记忆犹新——有时候即使是画面相对简陋的游戏也会成为夸张的电池杀手。
另外,64位机制还为我们指明了广阔的发展前景——即使这些收益目前无法体现,也必将在前进的道路上发挥效力。
哪些应用最适合64位机制?
说到这里,哪些类型的应用程序及应用开发人员能从64位机制中获得最为立竿见影的收益?
“能从64位机制中获得显著提升的两类应用程序分别是游戏与科学/数字处理应用,”经验丰富的iOS开发老鸟Jonathan Wight表示。Wight同时举例称,Chris Liscio的音乐应用Capo就是一款能从64位机制中获益的典型软件。
Vouc.hr公司软件工程师Bryan Lahartinger也表示赞同,并指出“可能因此获益的应用程序包括图形密度型游戏(例如<无尽之剑3>)或者其它一些需要处理大量数字的应用,例如电子音乐合成器(Ocarina)。”
“但我认为大部分应用程序其实感受不到什么变化,”Wight表示——至今就目前来说是这样。不过需要强调的是,这并不是指64位机制本身缺乏显著的对比优势。“我认为操作系统本身能够因此迎来提升,设备整体的使用感受也会更好,尤其是在处理后台任务的情况下。”
除此之外,并不是所有应用程序都必然能从向64位的迁移中得到提升(至少目前不能)。Lahartinger指出,某些应用在向64位机制过渡时可能会面临“潜在的内存占用问题”。“对于那些尚未经过内存使用优化的应用而言,这可能会影响应用的运行速度或者限制可资其它iPhone应用使用的内存容量,”他解释称。
幸运的是,苹果公司公布了应用向64位机制转化的流程(要求拥有苹果开发者账户),其中包括介绍如何优化内存性能的整章说明。
苹果同时要求所有制作64位应用程序的开发人员为32位运行提供必要支持。
与64位移动平台的第一次接触
与其第一时间尝试将应用程序编译为64位版本,移动开发企业Gist Digital公司CTO Abhi Patwardhan建议开发人员首先确保自己的应用程序能够与iOS 7顺利对接。
“开发人员需要做的第一件事在于专注应用更新,从而与iOS 7及其设计变更保持一致。”
“开发人员需要做的第一件事在于专注应用更新,从而与iOS 7及其设计变更保持一致,”他指出。“第二步才是利用Xcode 5实现64位转化,同时深入阅读开发者说明文档。”
即使向64位转化能够带来确切而显著的性能提升,大家最好还是在动手之前先做一番认真考量。根据Lahartinger的说法,经过全面研讨,开发人员能够相对轻松地着手64位应用转化并“立即享受5S 64位功能所带来的优势”。他同时指出,这“将大幅提升应用程序的实际表现”。
他还为开发人员提出一系列建议,称:“大家应该认真考虑一系列状况,包括数据类型大小以及由此给应用程序性能带来的影响。并不是所有应用都能在64位机制下拥有更出色的表现,而且如果不加干预、大部分影响都将以负面状态出现。”
多数开发人员需要在9月20号之后才能在iPhone 5S实体硬件上测试64位环境。我曾与很多开发者聊起过这个话题,他们纷纷表示不会在iPhone 5S正式上市之前轻易涉足应用程序的64位转化。
潜在的统一世界:OS X与iOS
iOS与OS X基于同样的核心操作系统与内核。然而,两款操作系统的运行方式差异巨大,处理数据及代码的机制也略有区别。
最近几年以来,我们已经明显感受到iOS对OS X设计思路产生的影响,同时也看到OS X在潜移默化中改变着iOS中的后端API。
当听闻苹果公司公布其64位A7处理器时,我的第一反应是“这对于统一化操作系统战略意味着什么?”——如果ARM处理器真能够像英特尔芯片那样同时运行iOS与OS X应用,那么统一平台的到来将指日可待。
在查阅苹果的64位iOS 7说明文档时,我发现了一段有趣的表述(段中的加粗字体):
iOS上的64位应用程序架构与OS X应用非常相近,这使得令同一套通用代码库运行在两套操作系统中变得更加简单。
这相当于指明了一种可能性。尽管iOS与原生OS X应用都由Objective-C所编写——分别利用Cocoa与Cocoa Touch框架——但在两套平台之间共享代码对于开发人员来说并不总是轻松可行。
要说苹果在开发者说明文档中想要表达的潜台词,很可能是指64位趋势能够使Mac应用开发人员更轻松地将一部分应用移植到iOS平台上——或者说正好相反。
这将带来无穷的可能性,特别是对于iPad这类尺寸较大的移动设备而言,Pixelmator或者Acorn等对性能要求较高的图形类应用很可能成功登陆iOS。
不要被消极情绪所迷惑
目前很多专家对64位嗤之以鼻,认为这种特性在当下来看“并不重要”。但事实恰恰相反,这帮专家大肆鼓吹的四核心乃至八核心智能手机才真的“并不重要”(想都不用想,绝大多数应用程序根本不支持双核以上的计算性能——这种多核心方案的理论计算能力要远超过实际性能表现)。
不过没人指望所有iOS应用会在一夜之间就转型为64位版本——需要强调的是,iPhone 5S是目前惟一一款拥有64位芯片的iOS设备;因此我们还要再等上几年才能让64位机制普及到整个苹果产品线当中,这一点各位千万不能忽略。
即使我们假定这一切能在短时间内完成,也仍然只有数字处理与图形密集型应用能够从64位机制中显著获益。有限的效果恐怕无法很快给应用程序生态系统带来整体变革。
我已经迫不及待想看看那些原本惧怕移动应用开发的技术人员——他们的主要顾虑在于移动处理器那略显孱弱的性能——如何在64位机制的强大助力下将优秀的台式机应用推向移动平台。