android流畅度比Ios差的原因
Andorid更新了一个版本又一个版本,硬件从单核到双核到四核,系统流畅度总算基本能和iOS持平了。不过人们不禁会问,为什么都是基于Linux,两个系统会差别如此大?为什么iPhone 4用单核处理器就能实现的流畅度,Android要高端双核才能保证?近日,Android开发小组工程师Dianne Hackborn算是半官方回答了其中的一个缘由。
Dianne Hackborn表示,从界面UI本身的渲染而言,首先,Android从第一个版本就有使用图形硬件加速,例如通知栏拖拉,对话框的显示和切换等等。只不过在3.0之前的版本都不是采用完整的图形硬件加速。由于Android不是一个统一平台,各终端存在硬件差异,系统会自动调节动画的帧数。一个典型的例子就是,Nexus S可以实现到60fps的渲染,所以会足够流畅。但使用同样分辨率的里程碑,由于硬件(GPU)性能问题,它就无法提供足够的帧数来保证流畅了。这样,它的界面渲染帧数要低于60帧,我们使用起来就会偶尔感觉到“卡”。
而且,即使为UI开启硬件加速,OpenGL技术带来的内存开销会十分大,比如PowerVR的图形芯片,此时要消耗掉8MB内存,而UI程序本身都只要2MB内存,这太划不来了。所以,为了保证不同机型顺利运作,很多时候Android会采用CPU绘图运算代替硬件加速——注意,CPU还要干别的事情,让CPU来绘图只会拖慢速度。
在Android 4.0之前的版本,硬件加速是作为一个可选择的参数而存在(考虑到部分APP不支持)。但从4.0开始,这个选项将会被默认启用,开发小组已针对进行优化,即使不支持硬件加速程序运行也不会出现问题。
Dianne Hackborn最后表示,硬件加速不是提升流畅度的唯一手段。事实上Android开发小组已经使用很多技术例如改进渲染技术来提升流畅度,典型的例子就是Android 3.0的浏览器相比2.2有巨大进步。而随着4.0铺开,更多用户可以感受到这点。
Dianne Hackborn没有评价iOS是如何达到流畅的。不过大家注意,从iPhone 3GS开始,每一代iPhone的图形芯片(GPU)都相当强大(iPhone 3GS、iPhone 4、iPhone 4S的图形处理芯片均为同代手机最高水平),而且苹果iOS是封闭系统,我们猜测,苹果在这一方面并没有碰到Android那么多烦心事儿
苹果A5处理器集成的PowerVR SGX543MP2图形处理器性能相当强大,几乎秒杀了Android阵营各类对手
更多相关文章
- Android画布和图形绘制---Canvas and Drawables(五)
- Android(安卓)Studio 解决错误 Could not find method android()
- Jenkins + gitlab 构建Android(安卓)apk之路
- Android电子白板
- Android之基础复习2D图形一
- android 3D 游戏实现
- Android(安卓)Studio--低版本如何不使用AndroidX编译
- Android兼容库
- android图形系统详解:View layer