必须转一个:为什么 Android 的机器主频和核心数比 iPhone 高,却没有更流畅?

以 Nexus 5 和 iPhone 5s 为例,部分硬件对比如下:

CPU:
  1. Nexus 5 :Krait 400架构 2.3GHz
  2. iPhone5S : Cyclone 架构 1.3GHz
GPU:
  1. Nexus 5 :Adreno 330
  2. iPhone5S : PowerVR 6430 GPU

RAM:

  1. Nexus 5 : 2GB
  2. iPhone5s : 1GB
更多回答
我们可以从硬件、操作系统、应用软件三方面来回答这个问题。

硬件角度
CPU方面,两者CPU型号分别为:A7和MSM8974。MSM8974拥有4核,单核频率最高可达2.3GHz,相比A7拥有2核,最高频率为1.4GHz。所以,就单纯的CPU计算能力来讲,MSM8974要优于A7,毕竟它单核频率比A7要高很多。另外,由于MSM8974有4核,因此它处理多线程并发能力要强于A7。工艺方面,两者拥有相同的28nm制程,但MSM8974频率高,核心多,所以密集计算情况下,它的功耗和发热量应该要比A7高。

从CPU的Cache方面看,A7拥有64KB+64KB的L1 Cache,1MB L2 Cache和4MB L3 Cache;相比较,MSM8974在这方面要差得多,相信是为了节约成本,仅仅配置了16KB+16KB L1 Cache, 2MB L2 Cache,且没有L3 Cache。如此小的Cache,在实际运行过程中,肯定会发生大量Cache Miss,这就会导致CPU常常在“等待”外围IO(如内存),从而白白浪费了CPU的高速计算能力。MSM8974在Cache的配置上,犹如V8引擎的跑车,却配置了一套四速变速箱,让人无语。

GPU方面,A7集成PowerVR G6430 GPU,而MSM8974集成了Adreno 330 GPU。根据资料,G6430的图形处理性能GFLOPS为166.4-249.6,而Adreno 330的图形处理性能GFLOPS仅为129.6-158.4。所以,PowerVR G6430的图形性能要明显优于Adreno 330。

内存(运存)方面,设备配置的内存越大,表示操作系统允许更多的应用程序驻留内存,在不同的应用程序之间切换会更顺畅。而且,每个应用程序允许使用的内存也会越大,相对来说会更流畅。这方面Nexus的2GB内存要占优。

操作系统角度
Apple IOS,apple开发的移动设备操作系统。IOS的内核使用的是darwin os,该内核与linux的宏内核操作系统不同,是一个类似于windows的混合型内核。有点类型微内核的感觉,不过就性能而言,与Linux相比应该没有什么优势。但是,因为ios的应用程序是使用objective c编码,最终被直接编译为ARM指令集。因此,在实际设备运行过程中,应用程序相当于直接在CPU上运行,避免了虚拟机的指令翻译开销,所以ios的应用程序执行效率相比android要高。

Google Android,是基于Linux操作系统的一个应用程序框架。它大致由以下几个组件组成:Linux内核、Android运行库、通用组件库、应用程序框架和应用程序本身。最终的用户应用程序均运行在一个个隔离的“沙箱”环境中,彼此隔离。其中,最重要的是,Android应用程序的指令不是机器指令,而是dalvik虚拟机指令。也就是说,Android提供了一个Dalvik虚拟机,将Android应用程序的dalvik指令翻译成最终的arm机器指令。这中间虚拟机的翻译过程是有性能损耗的。

应用程序角度
IOS禁止应用程序在后台运行,所有切换到后台的应用程序被操作系统自动休眠,只有前台程序可以占用CPU;相比较,Android就开放得多,它运行应用程序任意创建后台服务Service,所有Service都可以在后台任意占用CPU和内存。因此,当Android安装的应用程序越来越多,且应用程序毫无节制地创建后台服务的话,系统前台应用就被迫和越来越多的后台服务共享CPU资源,从而拖慢了整个系统的速度。也不能说Android这种真正的多任务模式不好,它是一把双刃剑,给应用程序更广阔的发挥空间的前提下,也给了应用程序滥用CPU的权限。因此,从这方面讲,IOS更有利于应用程序发挥流畅性,但代价是应用程序无法再后台工作;Android更有利于发挥应用程序功能,例如后台收离线消息,后台下载等应用。
从屏幕分辨率来看,IOS只有有限几种分辨率,最高也就1136*640,都没有达到1080P全高清的级别。比较而言,Nexus5的分辨率达到了1080*1920全高清级别。为此,应用程序需要更多资源来渲染图像,比较而言,IOS的应用程序就可以更容易达到流畅的帧数;但Nexus5的屏幕则可以达到更锐利,更清晰的图像。

总结
硬件方面,Apple iPhone5s的主频较低,但cache很大,且拥有更高性能的GPU;Nexus5的CPU主频很高,但Cache较小,且GPU相对较弱。所以,iPhone5s更适合表现图像或动画;Nexus5的高主频和更多核心,更适合高密集计算工作和并行计算。但就题主所说的流畅性,iPhone5s更胜一筹;
操作系统方面,IOS没有虚拟机开销,性能相比需要dalvik虚拟机转换的Android,也是胜了一筹;
应用程序角度,由于iPhone5s的屏幕分辨率较低,且没有后台应用程序干扰,所以iPhone5s更容易达到流畅的效果。

综上,iPhone 5S更容易给用户流畅的感觉。 2014-02-25
一切上来问为什么 而不是问 是不是 的提问都是耍流氓。小米3会高过IPhone5?
----------------------分割线-----------题主改问题了
同时期的安卓旗舰和苹果机比,硬件配置上都要劣于苹果IPhone X 2014-02-24
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值