天下网吧 >> 网吧系统 >> 系统动态 >> 正文

Intel芯的手机兼容性为啥那么差?

2015-5-13不详佚名

最近想换手机,看上了华硕的zenfone2,但是看了购物评价发现很多软件都闪退,包括网银,现在intel的手机到底适不适合买?

手机是否适合,小编无法给出太多建议,还是说回兼容性的问题吧,x86架构的手机同ARM架构的手机相比,的确是存在兼容性的问题,虽然相比于几年前x86架构的手机来说,现在的手机在兼容性方面已经有了很大的改善,不过兼容性依然是x86架构的手机最大的软肋,比如很多大型游戏,采用Intel处理器的手机运行起来都会存在一些问题。

其实究其原因,兼容性问题主要是因为指令集的不同,x86使用的是SSE指令集,而ARM使用的则是NEON指令集,两者的差异导致了部分应用不兼容。大部分Android应用都使用基于Dalvik Java的代码开发。理论上,由于Dalvik代码在系统的虚拟机中执行,在x86的ATOM平台上不会有性能损失。

其实支持Dalvik的程序还是占大多数的,但因为虚拟机性能有限,在需要更高的性能或者需要硬件的支持的时候,仍然会有一些应用绕过Dalvik。比如一些对硬件性能有较高要求的大型游戏,以及一些结合了感应器或者电源管理等硬件相关的应用。谷歌允许开发者使用原生的C语言代码。而原生代码是针对硬件平台编译,x86、ARM或是MIPS都有其相应的二进制文件。通常来说,针对ARM平台编译的二进制代码,x86的处理器是无法直接运行的。而主流的安卓产品均采用ARM处理器。这也是为什么早期大部分赛车游戏都无法在Intel处理器的手机上完美运行的原因。

而尽管很早之前,Google的Android NDK就引入了x86编译的选项,理论上来说,开发者只需在应用中支持这个NDK,应用在提交时会自动生成2个App,设备在下载时会根据自己的架构下载合适的App。这种方法并不难,效果也最好,难的是如何让众多开发商甘愿合作,所以我们看到,即便Intel处理器的手机已经推出几年了,但至今还是有相当一部分应用只针对ARM平台进行了编译,这也就导致了如今x86架构安卓平台的兼容性依然存在问题。

说到这儿,可能有些朋友会表示怀疑,说曾经看到过Intel处理器的手机玩3D赛车游戏,这又如何解释呢?其实很好理解,正是因为兼容问题严重,使英特尔急于找出一个解决方案,所以他们开发了一种转换技术“Houdini”。“Houdini”相当于一个中间层,可以让原本不兼容的应用跑在x86上。但这种强行结合的技术运行起来往往效率不高,容易出问题,且会增加耗电量。

此前曾有媒体对这种转换技术的效率进行过详细的测试,结论是二进制转换相比原生执行x86代码,损失的性能很可观,在性能诉求的应用中,损失可高达50%以上。在一些游戏类应用中,也会带来约400mW的CPU功耗的增加。

可见即便过了这么多年,x86的Android之路还是很漫长,恐怕最重要的原因还是因为此前Intel固执的玩高端,导致x86架构的手机市场占有率过低,好在目前来看,已经出现了千元级Intel处理器的手机,随着市场占有率的增加,相信x86架构的Android系统会更大的引起开发者的注意,这样也能够调动开发者的积极性,不管怎么说,Intel处理器的手机的未来还是值得期待的,前提是还要给它一些时间。

本文来源:不详 作者:佚名

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系Email:support@txwb.com,系统开号,技术支持,服务联系QQ:1175525021本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下