加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_阳江站长网 (https://www.0662zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 搜索优化 > 正文

华为王成录谈手机操作系统往事:手机卡顿问题是用户体验第一障碍

发布时间:2019-06-03 23:09:23 所属栏目:搜索优化 来源:钛媒体
导读:钛媒体注:今日,心声社区于昨日发布了一篇《华为手机操作系统往事》的文章,其中CBG软件部总裁王成录在文章中讲述了让软件成为华为手机的硬实力心路历程,特别是他们刚刚发布的“华为方舟编译器”。 简单来说,编译器是将程序开发用的高级语言转换成机器

游戏产业在手机上的迅猛发展超乎很多人的预料,几乎一半以上的用户都是手游用户。早在2016年,国内的手游已经占据了游戏市场的半壁江山,而且如王者荣耀、吃鸡等“硬核化”游戏的普及,将游戏对于手机图形处理能力的要求推向了前所未有的高度。而受限于ARM Mali GPU的限制,在与其他顶级友商的GPU的PK中,华为手机用户对游戏体验的吐槽急剧增多。

手游的体验是不是只能依赖GPU的处理能力,或者类似某些所谓的游戏手机堆料来实现?能不能像整机性能一样通过软硬协同来优化?这些问题进入了我们的视野。说干就干,相关工作马上开始启动。

2017年2月,我们发起了一场中西合璧的针对手机图形处理性能的攻关。虽然新加入的海外图形处理专家给出了很有价值的思路,但是整个攻关过程并非一马平川。其中经历了无数次尝试、接近、又推倒重来的过程。“胜则举杯同庆,败则拼死相救”,来自美国、芬兰、俄罗斯和深圳、杭州、南京、上海的相应领域专家们,不论部门,不分昼夜,最终达成了预期的目标。

当最后我们说出GPU Turbo 可以提升游戏性能的同时降低功耗,业界开始是一片质疑,都觉得这个逻辑违反常理。但我们有充足的底气,从GPU Pipeline(处理队列)、CPU/GPU联合调度,到OPEN GL(开放图形库)各指令的详细解读和细致调整,再到图形处理引擎的重构和应用负载的清洗,完整的全栈分析和解决方案,让我们有足够的技术自信,敢于公开我们的目标和承诺。

6月6日,发布会现场,知名技术平台现场直播搭载GPU Turbo的荣耀Play和其他友商手机的同款游戏对决。在帧率、抖动率、掉帧、耗电等硬指标上,荣耀Play获胜!一个多小时的实时对战,让业界见识了GPU Turbo的实力。GPU Turbo上市之后的反响超出预期,而各种第三方自发的评测也证实华为手机坐稳了游戏性能的第一阵营。

任何成功的背后,都是艰辛和汗水,所有参与GPU Turbo项目的研发弟兄们,经历过多少个不眠之夜已经记不得了。而我们始终牢记,潜心投入技术,聚焦提升用户体验,才是持续改变用户观念,提升品牌与口碑的王道。

软件工程里的“硬核”技术

2018年7月初,GPU Turbo上市的余热还未散去,忽然一起用户投诉引起了维护与营销团队的注意。相当多的用户在升级GPU Turbo之后,随着某款热门游戏的一次更新,不少场景出现了花屏。由于涉及华为和游戏厂商,究竟是谁的问题,中间是不是有什么故事,迅速成为媒体热炒的内容,一时间各种说法纷至沓来。

尽管声音很多,但对我们来说,用户的体验才是最重要的。仅仅2天之后,EMUI团队把2MB左右的补丁包快速推出,迅速解决了问题。我们的快速反应能力,受到了广大消费者几乎一致的好评。

这种快速的补丁升级能力,在终端领域,华为是独有的,其他安卓厂家并不具备。这背后,是EMUI团队这几年持续构筑的软件工程能力:代码共主干、全栈架构解耦、版本自动化生成三个硬核能力。

工欲善其事必先利其器,软件工程能力是软件研发的“器”。强大的软件工程能力是软件研发的重要组成部分,也是软件研发的硬核技术。

三年多以前的EMUI,基于海思Kirin、高通、MTK芯片的主干各不相同。主干只是物理上的代码仓库,质量基本没有保证。各产品版本都是从主干拉出的分支,相关特性都是靠产品经理和开发代表手工挑出来,效率极为低下,质量无从保证。从单产品看似乎很“高效”,但各产品功能特性的一致性,质量的可继承性几乎很难做到,没有一款存量机型能够全网升级新版本。这致使整个软件团队工作量很大,但重复低效且没有继承性,令团队人困马乏,根本无法应对即将到来的海量交付。

从EMUI5.0版本立项开始,交付采用了全解决方案运作模式,将用户交互、OS(操作系统)、海思、通信协议、安卓原生多个模块纳入统一规划,同源设计、同源开发、同源测试。解决方案依赖关系识别好、管理好,计划对齐。同时定下海思Kirin、高通共主干目标(MTK平台2018并入主干,至此,华为EMUI一条主干兼容三大硬件平台),代码合入主干严格受控、质量优先,保证了主干的代码质量。各产品不再需要拉分支,到发布的点直接按对应的产品出版本即可。主干版本每周可实现一轮全量的自动化测试,质量越来越好,交付也越来越高效,并且这个能力可持续传承。共主干的实现,虽然让产品线和软件研发团队都受到了不少“折磨”,但今天的收益让所有的痛苦都变得很值得。

架构是软件的骨架,是软件团队共同工作的基础和统一语言。EMUI基于安卓原生系统,总代码行数过亿,几乎是无线产品线产品代码行数的两倍。这么大规模的代码,每年都要做大版本升级,而且安卓原生代码每年的更改量和新增量都超过上千万行。架构的模糊和耦合,让新增功能的开发,现有功能的修改和变更,甚至BUG的修复都极其痛苦,血肉骨架混作一团,牵一发而动全身。这样的系统其实已经很难维护和持续开发。架构的选择和解耦成为不得不做的事情。

特别感谢余总和手机产品线总裁何刚的支持和信任,在人力资源有限的当时,允许我拿出40%的人力开始了EMUI全栈的架构解耦和重构。架构部担起这个历史使命,由软件的8级专家胡征挂帅开始了三年多的架构解耦工作,多次的研讨和激烈争论,终于让这项工作在过去的几年持续了下来,并对今天EMUI的交付效率和质量,做出了巨大贡献。一个清晰可解耦的架构,是软件团队内部的统一工作基础,也是我们与业界合作的共同语言,让我们“抽屉式”替换相应的安卓组件成为可能。这也是过去几年,EMUI可以快速实现替换文件系统、智能调度系统、实现全栈补丁的基础。谷歌新版本也在吸纳我们的优秀实践。全系统解耦的能力上,我们走在了业界最前沿。

EMUI 从紧耦合走向共主干全解耦

EMUI 从紧耦合走向共主干全解耦

(编辑:应用网_阳江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!