在日前的荣耀Play发布会上,余承东公布了“网络名人”和“恐怖科技”的真面目:GPU Turbo。当时余承东只说是一种软硬件配合的图形处理加速技术。通过在EMUI底部重构传统的图形处理框架,大大提高了GPU的整体计算效率,从而提高了手机的图像质量和性能,同时降低了手机的能耗。

那么,华为为什么要做GPU Turbo呢?到底什么是「软硬件合作」?华为的最终目标是什么?相信大家和我一样对GPU Turbo有很多疑问。

因此,在今年的CES亚洲期间,华为举办了一场EMUI公开课。课堂上,华为消费业务软件工程部总裁王博士为我们公开了GPU Turbo的一些核心思想。

为什么要这么做

GPU Turbo

华为承认开发GPU Turbo的初衷是为了注意到自己的GPU是在少核的高频路线上。虽然它有很强的处理能力,但它产生的热量很高,尤其是在玩游戏的时候。

为了缩小与朋友的差距,避免ARM技术路线图的限制,华为开始尝试在最佳时间使用最经济的资源,通过更高效的资源调度和更好的理解应用需求,从软件的角度实现更好的系统体验。

怎么理解

软硬件合作

GPU Turbo的实现不仅需要熟悉GPU驱动和机器指令,还需要对芯片结构和应用层渲染层有深入的了解。这种对整个栈的“理解”,不仅需要集体智慧,更需要天才的能力。

手机系统架构由内向外分为芯片、内核、中间件流程、框架层和应用层。

底层是各种芯片,比如CPU、GPU、DSP、NPU等。如果系统是平滑的,就需要对任务进行适当的计算,并分配到相应的计算资源中。

其次是内核。Android用的Linux内核虽然是开源的,但是要理解它还是需要很大的努力,才能被我使用。所以华为一直坚持在linux内核层面进行优化创新,在数量和质量上都达到了全球TOP水平。

在硬件层面,华为通过切换到Google原生文件系统来匹配SSD等系统,解决了系统副本冗余问题,从而更好地适应内核和驱动,减少系统干扰。

在华为对整个Android框架系统的优化过程中,近5000万行代码的中间层是华为重点“关心”的对象,因为它是很多Android手机问题的重要来源。

原因是这一层不是Google自己做的,而是采用了大量的第三方开源中间件和驱动引擎,包括很多有近十年历史的老中间件。

为了简化上层应用层的调用,华为下大力气重新创建了整个Graphic框架,解决了开源带来的应用数据结构不同、数据库形式不同、数据库处理方式不同等兼容性问题。

未来,华为将重点清理和优化安卓应用的计算资源、内存资源和带宽的合理匹配。

给我一个栗子

有时候不需要在不同的帧之间100%的重画,但是只有30%可能就够了。使用GPU Turbo后,重绘一帧可能只需要3-7毫秒,而不是像以前一样等待16.7毫秒就可以完全重绘整个帧。一旦16.7ms没完成,下一帧就不显示了——这也是有时候画面卡的原因之一。

也就是说华为会仔细了解各种场景中的画面元素来决定如何重绘。

当然GPU Turbo远非简单。这个“恐怖”的技术背后,隐藏着华为长期的技术积累。

比如2014年的EMUI 4.x,华为推出TEE SS指纹,通过统一代理Sensorhub Lite OS将敏感信息保存在特定频段,大大降低了功耗;

在EMUI 5.x上,华为加入了谷歌独创的虚拟机垃圾收集GC/AOT技术,还引入了数据库IO并行机制、Ultra Memory等技术,从而提出了“生得快,活得快”的口号;

针对这一口号,王解释说,安卓卡死是一个涉及多方面的系统问题。

一个

首先,大部分应用不使用Android的开放界面,是因为没有深入了解,比如转移不当,造成大量资源消耗;

2

其次,应用打开后,应用之间没有优先级管理,造成了所谓的“家桶”问题;

再次,随着应用的增加和数据的增加,如果没有好的算法,很容易造成存储碎片;

最后还涉及到一些应用,比如乱涂乱画,导致了巨大的虚假等等。

特别是EMUI 5.1在简化操作复杂度方面做了大量的工作,弥补了Android相对于iOS的一大缺点;

在EMUI 8.0阶段,华为的优化工作已经进入了iAware、人工智能、机器学习、资源分组调度等领域。-这些与上述图形一起构成GPU Turbo。

其中,华为也积极与谷歌沟通。比如谷歌的安卓版,在文件系统、传输管理、图形引擎等方面,很大程度上是华为贡献的。

而且华为的优化不仅能让新用户享受,还能覆盖大量老用户。以EMUI8.0版为例。这个版本的系统半年内覆盖20个老机型,用户超过3500万,预计最终覆盖8000多万用户。

前一天余承东在CES亚洲的演讲中也提到了GPU Turbo的更新路线图。

建设

开放应用生态学

以上都只是软件优化本身,那么如何保证实验室测得的东西尽可能贴近消费者的体验呢?

众所周知,华为在过去的十年里投资了近4000亿R&D费用。其中之一就是在京、沪、Xi、安、武、深、港设立“4A”级自动化测试中心,让“任何人”可以“随时随地”大规模验证“任何设备”在各种情况下的性能。

不仅如此,华为还放眼全球,寻找前瞻性技术。比如GPU技术来自西雅图团队。

除了技术上的考虑,“开放性”是华为优化的另一个重要考虑。因为终端软件是开放的,开放意味着合作,合作可以预测未来技术的发展方向。

其实从EMUI 5.0开始,华为就下定决心要把EMUI做为一个平台,通过第三方系统进行创新,最终为消费者提供最好的体验。华为不会事事亲力亲为,而是将应用创新交给第三方,专注于更具挑战性的核心技术。

两年前,华为在北京成立了开放式实验室Openlab。开放之初,Openlab与国内几家企业共同成立了安卓绿色联盟。通过建立统一的测试标准,联盟在两年前成立后,极大地改善了Top1000应用的功耗、性能、兼容性、安全性等问题。

未来华为会把这种开放性延伸到AI。通过向第三方应用开放DDK,并与他们自己的NPU相结合,第三方应用的运行效率,如Prisma和WPS,可以得到显著提高。

最后,王博士总结说,没有任何技术能跟上应用的发展速度。因为CPU或者GPU的性能一旦提高,人们在使用的时候就会有不那么细致的考虑。

所以,华为的GPU Turbo毕竟是建立在对所有GPU技术架构和驱动架构的充分、透彻了解的基础上,尽可能使应用本身的负载合理——不单纯是超频,也不损失画质。

但华为有技术自信,在操作系统内核上比苹果走得更远,理解得更透彻,所以华为说GPU Turbo的高门槛至少可以领先竞争对手5年。

还有一点...

关于华为“快速应用”和微信“小程序”是否冲突,华为表示

快速应用的目的是给用户一个尝试和了解一个应用是什么的机会,让用户不用下载就可以先尝试,类似于Google Play的“尝试我”功能。有了这个功能,华为想提高第三方应用的用户体验,提高用户比例。事实上,“快速应用”确实提高了用户的使用频率和下载速度。

此外,华为认为“快速应用”可以通过更好地了解未来不同场景下用户的需求,向用户推送更合适的服务。

今天来看看我的愿望清单上有什么有趣的吧

1.《turbo 深入解读“很吓人”的GPU Turbo 到底是个什么鬼?》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《turbo 深入解读“很吓人”的GPU Turbo 到底是个什么鬼?》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/fangchan/1702877.html