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

来源:互联网 发布:淘宝运营应该做什么? 编辑:程序博客网 时间:2024/05/03 16:46

为什么 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
举报14 条评论 分享  邀请回答

查看全部 60 个回答

更多回答

刘涛

收起
Hnz kaa、李文、简传挺 等人赞同
我们可以从硬件、操作系统、应用软件三方面来回答这个问题。

硬件角度
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
关注问题 59 条评论 感谢 分享 收藏  没有帮助  举报收起

luo wishaz

杨文清、Ground、王奕 等人赞同
一切上来问为什么 而不是问 是不是 的提问都是耍流氓。小米3会高过IPhone5?
----------------------分割线-----------题主改问题了
同时期的安卓旗舰和苹果机比,硬件配置上都要劣于苹果IPhone X2014-02-24
关注问题 9 条评论 感谢 分享 收藏  没有帮助  举报收起

查看全部 60 个回答

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 35岁博士毕不了业怎么办 跨校考研失败了怎么办 开发商把网签房卖给我该怎么办 cad中命令行没了怎么办 平板玩游戏很卡怎么办 卵巢包块20厘米怎么办 耳机的橡胶破了怎么办 脚被树枝扎破了怎么办 脚被木头扎肿了怎么办 手表字面脚断了怎么办 捡到苹果电脑怎么办才能自己用 耳机泡在水里了怎么办 蓝牙耳机泡水了怎么办 拖欠农民工工资劳动局不管怎么办 怎么办假的残疾军人证 外地人到北京就业怎么办五险 巴基斯坦留学生护照丢了怎么办 不敢上梯子太丢人怎么办 家人信了全能神怎么办 头皮上长淋巴炎怎么办? 鱼缸里的鱼相互咬怎么办? 火车凌晨4点到站怎么办 金立手机拍不了照怎么办 手术拆线后切口不平怎么办 乳牙透明冠掉了怎么办 配眼镜度数低了怎么办 眼睛高度近视怎么办才能恢复 猎人荒野的呼唤打中一枪后怎么办 凯恩帝数控超程报警怎么办 凯恩帝数控车床x向超程怎么办 别人问你借账号怎么办 微信成夜间模式怎么办 网络电视突然黑屏了怎么办 1adac连接线坏了怎么办 4g的标志没有了怎么办 苹果手机亏电了怎么办 苹果手机亏电了充不进电怎么办 比值审敛法 ρ=1怎么办 比值审敛法中p=1怎么办 电脑被老友重装系统搞坏了怎么办 vivo手机听筒声音小怎么办