ARM在Android兼容性与Windows性能优于英特尔

  ARM已经公布了一组测试结果,旨在验证英特尔的x86解决方案在现有Android环境下的实际运作效果是否与其宣传相符。

  第一组测试的内容是将完全没有经过重新编译的原生应用程序运行在基于英特尔架构的Android设备之上,这些应用程序需要利用“二进制翻译”机制进行模拟、从而将原生ARM代码转换成原生英特尔x86代码。

  英特尔公司表示用户对此无需担心——其二进制翻译器只会“对性能造成极为轻微的影响”,而且“在大部分应用程序中这种性能影响根本不会被察觉。”然而正如大家所料,ARM对这一结论表示无法苟同。

  “无论大家曾经查阅过或者听取过怎样的解释说明,二进制翻译机制对于用户的使用体验以及系统性能都会造成相当严重的影响,”ARM高级技术营销工程师Rod Watt在该公司本周于德克萨斯州奥斯汀市举办的2014 Tech Day大会上向与会者们解释称。

  Watt给出的结论完全基于他本人亲自得到的测试结果。他所使用的基准与游戏性能测试机制由中文网站“爱搞机”提供。

  在进行此次性能与功耗测试之前,Watt首先确认了到底有多少款热门Android应用需要经过翻译以运行在基于x86架构的Android设备之上。为了得出确切结论,他通过两论筛选指定了总计100款应用程序,即在线Google Play软件商店上的前25位免费与付费应用外加前25位免费与付费游戏。

  Watt将全部注意重点放在了包含原生代码的应用程序在x86平台上的性能表现。不过需要强调的是,在他所调查的这100款应用当中仅有约20%能够在Android Dalvik虚拟机上完美运行;其它应用则或多或少包含了一部分系统中的原生组件。

  他得出的结论多少令人有些吃惊。尽管利用Android原生开发套件(简称NDK)能够相对轻松地实现由32位ARMv7 Android应用向原生x86应用的移植,但他在2013年7月进行的这次测试中仍有42%的热门应用需要经过二进制翻译处理才能正常运行;而到了今年1月,他在第二轮测试中发现这一比例上升到了44%。

ARM在Android兼容性与Windows性能优于英特尔

  你们对x86 Android应用的转换情况作何感想,英特尔?(点击放大)

  更重要的是——请雇,这些都只是Watt公布的数据,我们并没有对其加以验证——这100款热门应用当中的原生x86 Android应用数量也由去年7月的30款下降至今年1月的23款,而即使经过二进制翻译也仍然无法运行的应用数量则由6款上升至9款。

  当然,开发人员可能拥有多种多样且极为充分的理由而没有选择使用Android NDK来将其应用成品移植至x86平台——例如需要为测试工作投入时间或者懒得多此一举——但Watt则对此作出了更为直观的分析结论。“如今移动领域早已是ARM的天下,”他指出。“开发人员们就是在面向ARM环境编写代码,他们根本没必要考虑英特尔平台。”

  也许这些为ARM架构编写应用的开发人员应该重新思考自己放弃将软件移植到x86 Android环境下的决定。因为如果Watt通过“爱搞机”网站所获得的性能测试数据准确可信,那么移植与不移植在运行效果上真的存在巨大差异。

  该网站的一众中国测试者们在一台联想K800智能手机(采用英特尔凌动Z2460处理器)上运行了多项基准测试以及由虚幻3引擎开发的《史诗城堡》游戏,后者的测试过程分为原生运行与二进制翻译模式两种。

  在“爱搞机”网站的测试中,将二进制翻译机制描述为“对性能有所影响”实在是太过轻描淡写了。正如Watt所指出,二进制翻译机制的介入导致几乎每一项性能指标都出现了60%甚至80%的显著下降。

ARM在Android兼容性与Windows性能优于英特尔

  “爱搞机”网站得出结论——性能更糟糕、功耗更夸张(点击放大)

  除此之外,《史诗城堡》游戏在原生运行状态下的每秒帧数为49.5帧、经过二进制翻译处理后只剩下31.2帧,而且二进制翻译还导致设备的CPU占用率由前者的58.9%上升到73.4%。再有,应用运行时的耗电量也由621毫安增长到717毫安——这对于极为重要的智能手机电池使用时间来说无疑不是个好消息。

  我们可以初步假设,这一切都是那该死的翻译机制搞出的后果。从实际情况来看,Watt发现二进制翻译还给Primate Lab的Geekbench 3.1.4基准套件中的各个组件带来了持续性影响——这种影响在该套件运行在原生ARMv7模式与x86翻译模式下都始终存在。