小米8没有“吓人的技术”,技术解密华为“吓人的技术”到底是什么鬼?

5月31日小米8及小米8SE在深圳发布,尽管小米8的性价比依然优秀,但小米之前号称的一堆“吓人的技术”竟然没有出现!

自从华为手机CEO余承东对媒体表示,华为2012实验室开发了可以媲美华为P20 PRO使用的手机摄影技术,后来荣耀总裁赵明确认,在6月6日发布的荣耀Play上将正式推出,手机圈就被“吓人的技术”彻底刷了屏。

很快小米的林斌号称即将发布的小米8有很多“吓人的技术”,还专门出了张海报,多少有点拾人牙慧的感觉,而且如果两页纸都写不完的“吓人技术”,小米为什么不去申请个诺贝尔奖之类的玩玩?

不过说实话,今天的手机厂家,活在苹果和华为技术的阴影下,其实挺悲伤的,你搞不清楚这两家什么时候会推出一个让你无法直视的功能,就比如华为的手机拍照技术,一下就拉开行业一代到两代的差距。

话说回来,自从被华为“吓人的技术”刷了屏,由于余承东语焉不详,让吃瓜的群众云山雾罩的,今天我们就从安卓技术方向来看看这种“吓人的技术”最可能是什么东西。

我们先回顾一下余承东的说法:

这项“很吓人的技术”是华为2018具有划时代意义的大技术,是华为技术的重大突破,它将通过底层技术大幅提升产品的性能体验。有了“很吓人的技术”,其他手机速度跟华为手机的速度相比,就等于是“地上跑”和“天上飞”的区别。

从这段文字的表述里,我们可以确认的有两个核心点,一是底层技术(包括硬件和系统软件),二是运算速度。

那么我们沿着这两个不可能出错的出发点,反向推导,华为“吓人的技术”到底是什么。

安卓系统结构图

一、影响安卓系统性能的是什么?

稍微了解一些安卓系统的人都知道,影响安卓系统流畅性的就是安卓系统中的那上虚拟机。在安卓5.0之前,负责应用程序运行的Dalvik虚拟机,后来谷歌花了两年时间开发了更快执行效率更高更省电的替代ART,ART代表Android Runtime,其处理应用程序执行的方式完全不同于Dalvik,Dalvik是依靠一个Just-In-Time (JIT)编译器去解释字节码。整体代码的执行效果是提高了,但仍然是应用的代码需要编译,并在运行虚拟机上,系统的开销并没有发生根本的变化。

而且由于这次技术变化,在提高运行效率的情况下,在系统开销上上升了20%左右,应用的安装时间也进一步延长,ART并没有彻底解决安卓的应用执行效率的问题。

而在苹果的iOS系统中,应用运行过程中也不需要虚拟机在中间插手,执行效率自然很高,这也是苹果系统虽然只有2G、3G的内存,仍然会比安卓现在动不动就4G、6G运行速度更快的原因。

所以说,如果要解决安卓系统的执行效率,就必须去解决安卓虚拟机的事情。

而早在华为EMUI8.0推出时,华为就在EMUI上使用了双层虚拟机的方式来提高系统的执行效率,虽然效果不太明显,但经过几次升级,目前保持了18个月不卡,倒也是事实。

之前有技术方向的人猜测这次华为“吓人的技术”是重写了虚拟机或才是直接采用类似苹果iOS系列的处理方式,让应用直接运行在编译器上,这确实是解决安卓系统执行效率最根本的方式。但无论是重写一个效率更高的虚拟机还是直接通过别的技术手段实现无虚拟机的方式,都要受到谷歌对定制系统的要求,至少现阶段,谷歌是不允许这种方式的,华为也不会在现阶段推出自己的替代系统。

虽然之前听华为手机内部人讲过,华为2012实验室在对安卓的整体系统代码做研究,目前可以动安卓底层代码的只有谷歌和华为两家公司。此言非虚,华为是可以重新写一个全新的类似“安卓”系统的,但没有生态一切都是惘然,这点华为应该很清楚,并不会像一些小粉红一样天天喊着民粹主义胡搞。

综合各方面的技术路径和华为一直在安卓系统的研究,从目前的情况来,这次华为“吓人的技术”的一个方向,是华为采用与三星类似的两层虚拟机的技术方式有了突破,而这种突破可以使华为的二层虚拟机既可以符合安卓的规范,又可以提高系统的运行效率,而在华为二层虚拟方案中,最大的可能是会改变安卓给每个应用一个独立虚拟机,而华为的技术方案中,很可能是采用了统一类总线方式,给所有的应用一个虚拟机,以提高系统的运行效率。

二、华为技术突破最可能的是哪个方向?

如果在一定程度上华为通过二层虚拟机的方式解决了安卓应用执行效率的问题,那么也就是说华为对安卓系统流畅性的问题解决了一半。

另一个影响到安卓系统应用执行效率的问题就是安卓与苹果iOS系统的另外一个区别。

在iOS系统中,系统对屏幕的反应的优先级是最高的,而在安卓系统中,这个优先级排到了第三,这造成了两个系统的加速原理不同。

iOS系统对图形的各种特效处理基本上都是基于GPU硬件进行加速的,它可以不完全借助CPU或者程序本身,而是通过GPU进行渲染以达到更流畅的操控表现。但是Android系统产品则并非如此,因为Android需要适应不同的手机硬件,需要满足各种差异配置,所以很多图形特效大多都要靠程序本身进行加速和渲染,并严重依赖CPU运算的操作自然会加大处理器的负荷,从而出现卡顿的问题。虽然Android 4.0以及4.1等更高版本中进行了改进将硬件加速设为默认开启,但依旧无法做到所有特效全部都靠GPU进行加速。在很多Android手机里面都自带有“是否开启GPU渲染”这个功能选项,不过开启之后的改善也是微乎其微。

如果华为要从这个角度去解决安卓系统卡顿的问题,在无法改变屏幕优先级的情况下,由于目前华为手机采用的麒麟970芯片中有独立的NPU处理单元,而这一部分硬件底层技术是华为可以做到变更的。

也就是说,华为通过NPU和GPU的协同工作,在图像处理可以更多的使用NPU和GPU的性能,从而减少CPU的开销,从而进一步提高图像的处理速度,这也验证了为什么这项技术会首先在荣耀Play首先使用的依据。通过NPU和GPU的协同,大幅度提高图像处理能力,在安卓手机游戏方面的表现将是划时代的,如果其效果接近iOS的水准,说是“很吓人的技术”就并不为过。

综上两点,华为这次“很吓人的技术”一次二层虚拟机方面取得了重大突破,从而整体提高了安卓系统的代码的执行效率,二是通过NPU和GPU的协同,解放了CPU的负担,从而提高了安卓系统在图像方面的处理能力,也就大幅度提高了安卓手机的游戏性能。也只有这样,华为的EMUI与其它的安卓系统才会有“地上跑”和“天上飞”差别。从这两年技术层面去理解,小米所说的那一箩筐“吓人的技术”,事实上从5月31日小米的发布会展示的技术来说,基本上都属于一般性技术升级,可能连一箩筐土豆都算不上。

相关推荐