ColorOS|性能与续航怎么选?ColorOS超算平台:我全都要!( 三 )



在ColorOS 13 这一代 , OPPO ColorOS超算平台率先完成了算力模型和并行引擎的搭建 , 经过百万次调试后 , 找到了针对硬件的最佳调校方案 。
因此 , 我们才得以看见 , 搭载了 ColorOS 13 的手机 , 相较于搭载 ColorOS 12 的手机性能更强、续航更长、后台留存率更高、稳定性也更好 。
所以 , 上面提到的 ColorOS 超算平台到底是什么 , 为什么它们可以让 ColorOS 13 的体验有了脱胎换骨的进步呢?别着急 , 黑马会挨个进行解释 。
就拿算力模型来说 , 大家还记得黑马开头说的吗 , OPPO 认为计算资源分配不合理 , 是导致手机流畅性降低的重要因素之一 。
计算资源分配不合理 , 源于过去传统的资源调度对于芯片微架构的理解不够深入 , 只能粗颗粒度地对 UI 层、CPU、GPU、大小核使用等环节进行策略调整 , 远远达不到最佳的能效组合 。

而 OPPO 经过了数百万次的数据拟合与仿真 , 最终建立起了一个从场景到硬件垂直整合的算力模型 , 实现对芯片进行精细的指令级的调度 , 找出最佳算力组合方案 , 从而实现高性能与低功耗的平衡 。
听上去很复杂 , 但原理其实很简单 。
比方说一款应用它需要较多的 GPU 资源运行 , 在运行之处需要大量的 CPU , 而运行过程中仅需要较少的 CPU 资源 , 像小核心的性能就能满足 。
这时候 , OPPO 就不会让它一直去调用大核心来运行 , 而是在运行之后将其切换为小核心运行 。
这样一来 , 在保证应用拥有流畅体验的同时 , 也能降低功耗提升续航 。

以上的例子仅是一款应用运行的大致流程 。
在将更多应用进行组合验证优化之后 , OPPO 就通过这些数据搭建出了一个算法模型 。 它可以让手机清楚的知道 , 哪些应用需要多少资源就能流畅的运行 。 既不给多也不给少 , 刚刚好就行了 。
除了通过算力模型平衡高性能和低功耗之外 , ColorOS 13 超算平台的并行计算引擎也发力不小 。
我们都知道 , 安卓的内存使用策略属于是“先到先得”:谁先启动占用了大量的内存 , 谁就是“大哥” 。
然而很多时候 , 我们在呼唤“大哥”之后 , 还需要“二哥”的帮忙 。 这时候 , 如果直接召唤“二哥” , 那么“大哥”要么挂掉 , 要么就会“行动迟缓”变得卡顿 。

早期为了避免杀后台 , 我们通常会把常用应用添加一个“进程锁” 。 像黑马“大哥”、“二哥”用得最多 , 就把它们添加了进程锁 。
不过很多时候 , 我们还需要一个“三哥”或者其他“阿哥”出马 , 但是因为“大哥”、“二哥”占用了内存 , 这时候它们就会“互相掐架” 。


大哥:“主人给我添了锁 , 他更需要我!”
二哥:“主人给我添了锁 , 他更需要我!”
三哥:“主人刚点开我 , 他更需要我!”
内存:“你们争吧 , 反正我只能养活两个人!”
这不 , 通过分析大量的日常卡顿问题 , ColorOS 发现有 30% 的卡顿都是锁竞争导致的 。
为了解决这个问题 , ColorOS 开始借鉴微内核的先进设计思想 , 将内存分配与回收等关键操作服务化与并行化 。
这就好比我们去做核酸 , 只有一个窗口的话大家就很慢 , 但是如果多开一个窗口大家的效率就翻倍提升了 。 不仅如此 , 新开的窗口还可以设置为让黄码这种优先级更高的先行 , 从而大幅提高运行效率 。

在此基础上 , OPPO 甚至还推出了“大锁化小锁” , 改善了锁竞争问题 。 比如红码、黄码都很重要 , 但是红码的优先级肯定是高于黄码的 , 所以在双方需要同时测核酸时就让红码先行 。

相关经验推荐