首页-> 科技-> 吸一口O气,手机更流畅

吸一口O气,手机更流畅

2018-10-12 12:34     科技    

  新酷产品第一时间免费试玩,还有众多优质达人分享独到生活经验,快来新浪众测,体验各领域最前沿、最有趣、最好玩的产品吧~!下载客户端还能获得专享福利哦!

  注:此文转载自@践机行事

  2018年10月11日,一场规模不大的技术沟通会在上海召开,会上OPPO宣布了自家针对安卓的优化技术Hyper Boost。不过,只有刚好半个小时的沟通会,是没有办法把这个技术说得太明白的,好在会后我得到了与OPPO研究院软件研究中心负责人陈岩另外沟通的机会,也算是把Hyper Boost技术弄明白了,赶紧趁热撸出了这篇文章。最让人没有想到的是,这个对OPPO智能手机流畅度起到如此重要作用的技术,仅仅占用了整个Color OS大约1MB多一点的空间,也算是不简单了。

OPPO研究院软件研究中心负责人陈岩OPPO研究院软件研究中心负责人陈岩

  以下是OPPO官方对于Hyper Boost技术的描述:

  OPPO在2015年便自主研发了系统引擎的雏形设计,对用户核心使用场景及使用行为进行针对性优化。发展到现在,OPPO Hyper Boost已经进化成为OPPO自主研发的系统级资源调配优化方案。它有效整合了OPPO系统引擎、游戏引擎与应用引擎三大部分,从而针对用户的实际使用场景及行为,全面实现了性能与功耗表现的优化,帮助提升用户的整体使用体验。它可以通过系统引擎调配底层硬件资源,面向20+个软件场景、20+个用户行为提供50+个优化方案,让用户在绝大多数通用场景中获得最佳体验。

Hyper Boost加速引擎涵盖系统引擎、游戏引擎和应用引擎Hyper Boost加速引擎涵盖系统引擎、游戏引擎和应用引擎

  上边这段描述,就算你我看得明白,没错,都是中文,能理解到它的意思,但也未必能清楚地了解OPPO Hyper Boost技术是如何工作的。同时,很多人也未必认可OPPO这些年在系统优化技术上的努力,甚至还有人说这又是一个PPT技术。好吧,那就让我们换个方式,换成我自己得到的信息,来给你解读一下什么是OPPO Hyper Boost技术——知其然,也得知其所以然。

  说优化,对流畅的理解很重要

  今年特别有意思,智能手机厂商们本来一个个都是做硬件的好手,但从6月的华为开始,大家好像都化身码农,软件,不,准确的说是软硬件结合的技术纷纷走到台前:除了本文的主角OPPO Hyper Boost,华为的GPU Turbo和CPU Turbo、vivo Dual Turbo、nubia Evolution Tensor等一干技术先后登场,虽然它们的名字看上去各有千秋,但目的都只有一个:为了让系统变得更流畅。而事实也是如此,到了今年,伴随着安卓智能手机多年的卡顿问题,在各家的UI上都陆续被“干”掉了。关于它们的实现方式,我自己的公号和微博都有相关的解释,我也自认为是说得比较清楚了,有兴趣的朋友可以自行搜索。

  在优化系统之前,如何去定义“流畅”是个前提,只有搞定了这个标准,后边的工作才能有的放矢。在陈岩带领的OPPO软件团队的标准中,一个流畅的系统需要在三个维度达标,才能算是有着良好的用户体验:

  ●视觉上,显示、滑动、点击等眼睛看到的画面是必须达到一定的帧数标准——类似于我们以前说的在PC上玩游戏要高于30fps这个保底帧数一样;

  ●听觉上,声音的回放要清晰流畅,不能有卡顿——这个也是OK的,音画得要同步,否则电影没法看,游戏没法玩;

  ●网络上,延迟要在当下的网络标准中达到最小——不仅仅是现在火热的手游对网络延迟有要求,抢个红包、看个网页、问个度娘,网络延迟高了,也可以被视为卡顿

  以上述这三个维度定义流畅的标准为目标,OPPO的软件团队从2015年就开始进行系统引擎的开发——当然,那个时候还不叫OPPO Hyper Boost,甚至在这一串英文发布之前,都还有名称的更改。与此同时,还有另外一个重要的考量,即在达到这些流畅的标准之后,整个系统的功耗表现也得同等优秀,毕竟以牺牲续航为代价的流畅都是伪命题不是?那么,这个系统引擎是如何进行工作的呢?

  举个例子,OPPO Hyper Boost侦测到前台正在运行的应用,其刷帧行为低于了标定的帧率——哪怕是已经“习惯”了安卓卡顿的用户并不觉得有问题,但系统并不这么认为。这个时候,OPPO Hyper Boost就会马上让应用对系统资源进行额外的调取。比如让更多的CPU核心或是CPU大核介入,或是提供GPU功率强化渲染,如果是因为WiFi网络的拥堵造成的,那么就会让信号更好的移动网络介入,总之,得让这个运行在前台的应用能够跑到系统标定的帧数才行。反过来,如果前台运行的应用其刷帧动作已经达到标准,那么OPPO Hyper Boost还会让适当的系统资源退出,从而达到节能的目的。

  不仅仅是前台运行的应用,在遇到一些大数据载入的场景时,比如大型游戏的载入,OPPO Hyper Boost侦测到这个行为时,又会在CPU、I/O接口、RAM和ROM等相关的系统资源调用上加速——即比应用普通的载入需求上提供更多的系统资源进行配合,等到数据载入动作结束,又会将这些之前用到的资源释放出来。通过这样的动作,部分应用的载入速度能节约近三分之一的时间,也算是很可观了。

  再比如一个非常常见的软件应用:抢红包。很多人觉得自己总抢不上红包,是网络延迟的锅,但你可曾想到,你想要抢到红包,除了红包这条信息能及时到达手机之外,系统能否第一时间渲染出来抢红包的界面也很重要,没有“抢红包”那个按钮出现在屏幕上,你怎么也不可能做到用爱或是用眼神抢吧——而在这个场景,OPPO Hyper Boost技术会让GPU、基带等相关组件瞬间进入鸡血状态。以安卓原生(即Linux)的标准来看,这种突发式的系统资源调用响应时间以20ms为基准,而OPPO Hyper Boost则通过两套自身独有设计的方案——行为感知调度方案和全新的Linux任务调度器,将响应时间基准提升到了0.2ms的基准。要知道,底层的速度提升了100倍,会在应用层得到更大幅度的放大。

  最开始,OPPO的软件团队是针对Color OS系统以及系统组件进行这类优化的,这也就是OPPO Hyper Boost技术中“系统引擎”这个组件的由来,之后随着软件以用户应用的发展,OPPO又将类似的方式向主流的重量级应用和手游两个方向进行了扩展,就有了游戏引擎和应用引擎两个部分,三者共同构成了现在的OPPO Hyper Boost。

  游戏引擎就不用说太多了,大家都懂的,现在OPPO Hyper Boost与腾讯、网易等游戏厂商合作,已经可以在TOP 100的热门手游上运用这项技术提升游戏的体验;而应用引擎就更有意思了。像微信、QQ、淘宝等热门应用,全部都在OPPO Hyper Boost的优化范围之内,微信与QQ也不多说了,大家都在努力——要是我们的手机不用微信,18个月之后可能都挺流畅的,而对淘宝这些应用的优化,在我进行发布会微博直播的时候,评论里收获了不少好评,看来不是我一个人觉得淘宝卡啊。从而也可以看出,OPPO Hyper Boost这三个引擎组件,的确对于普通消费者日常使用是很有意义的。

  不过,在说到手游延迟上,陈岩还特别说到了一个大家容易忽视的问题:手游的网络延迟其实分为两种,一种是接入延迟,即手机与基站之间的延迟,另一种是真实延迟,即手机的信息通过一系列网络到达游戏服务器再返回的延迟,真正影响用户体验的延迟是后一种,而OPPO Hyper Boost针对性优化的也正是这种延迟——嗯,很硬核了。

  实诚的OPPO Hyper Boost

  前边将OPPO Hyper Boost的原理说得差不多了,但这个时间更现实的问题出现了:OPPO的手机型号这么多,不同平台之间的性能有云泥之别,如何保证这项技术在不同档次的OPPO手机上都能有理想的表现?老机型怎么办?后续OPPO Hyper Boost会往什么方面发展?好,让我们在这个章节一个个的解决。

  首先,OPPO Hyper Boost技术的部分组件其实已经在过往很多OPPO手机上使用了,只是三个引擎组成的全家桶头一次出现是在最新的R17系列的机型上,所以,它不是什么PPT技术。过往的机型,最早可以支持到2016年的产品,它可以通过OTA升级实现。要知道,OPPO Hyper Boost的各种组件很小,加起来整个包的大小也不过1MB多大,很惊人了。

  其次,不同性能平台不同标定的问题,OPPO软件团队不只想到了,还想得更细:采用玻璃与金属材质外壳的机型因为散热性能的不同,在进行标定时也有两个不同的标准。例如不同的散热条件,OPPO就会考虑不同的评判标准。对于不同性能的平台,OPPO软件团队采用了非常“笨”的办法,采用人工进行不断的测试,从而为不同性能平台标定了各种应用环境的帧数上限。比如《王者荣耀》提到的满帧运行,在高通骁龙660这个级别及以上的平台,是采用60fps这个标准,以下的机型则会相应降低标准——这个没什么问题,你要让MT6755在《王者荣耀》团战中跑到60fps?不是你疯了就是手机疯了……

  我也问了陈岩为什么OPPO现在不采用部分友商运用AI深度学习进行这些标准的自动标定,陈岩说在最开始的时候,OPPO Hyper Boost主要运用的是机器学习的语言来进行,因此自动化没有AI的深度学习来得快,但是笨办法有笨办法的好处,就是专用版的终端,在优化上会更上稳妥。不过伴随着AI深度学习技术的引入,用户数据的不断累计增加,以及与三大游戏引擎的合作深入,在不久之后OPPO Hyper Boost是可以实现与第三方应用的自动适配的。

  虽然现在看OPPO Hyper Boost所涵盖的应用和游戏并不算多,但是这些由OPPO软件团队一对一沟通得来的专版应用,在Color OS却有极为高效的执行效率。比如《王者荣耀》,其他的UI的优化方式是使用AI根据应用信息判断1~2秒后可能会有团战,需要进行硬件资源的调配,而在Color OS上,则是《王者荣耀》专用客户端向OPPO Hyper Boost提前发出指令:“前方高能预警,1秒之后将有团战,请马上给予资源配合”,而OPPO Hyper Boost就会在0.2ms的时间里回复《王者荣耀》专用客户端:“了解,当前CPU、GPU、RAM、ROM、网络、等各种资源,可以保证达到团战满血流畅运行,需要什么请自行调取。”由应用告诉系统需要进行资源调取,系统提供直接调用,没有中间商赚差价,效率自然就当然可观了。

  第三,就是用户数据安全的问题,这个非常重要,毕竟OPPO Hyper Boost是在后台对手机应用行为进行实时侦测的组件。对此陈岩说用户不需要有这样的担心,其一,OPPO Hyper Boost是完全离线组件,其二,对于应用行为的侦测,是只针对数据脱敏之后的行为进行侦测,比如点击操作,只会识别这是一个点击操作,对于点击的位置是不会判断的,从而达到保护用户隐私的目的。

  在这里特别要提到的还有两件事情。其一,OPPO Hyper Boost的组件之一系统引擎,当前OPPO正在与谷歌安卓团队进行沟通,有可能在未来的安卓版本中,OPPO和谷歌会达成底层接口优化合作。换句话说,Hyper Boost的部分代码可能将会进入安卓原生代码,并且开放给所有的厂商;其二,OPPO Hyper Boost的三大组件,对于应用调取系统资源的行为响应,不但完全脱离了安卓本身的任务管理器,还跳过了MTK、高通这些平台厂商提供的资源管理器,是一套完全独立的第三方组件,专门为Color OS和OPPO的手机服务,这一点有点像OPPO自家的VOOC充电技术,不要QC不要PE也不要PD,我就要任性做自己的。

  写在最后

  在发布会之前,我了解到,其实OPPO的软件团队起初并不希望将OPPO Hyper Boost三大组件如此公开的放在公众的面前——也许之前它连这个名字都不叫,但是一来因为今年整个智能手机市场的环境比较特殊,二来智能手机市场发展到现在,当硬件90%都趋同的情况下,最后10%以及软硬件结合,才是真正体现智能手机厂商功力的地方。所以最后,才让我们在今天了解到了这么多OPPO对于智能手机优化的故事,但不管怎么说,这样的精彩,才是我等吃瓜群众最期待的。