指责苹果「故意弄慢老手机,逼用户换机」前,先看看是怎么回事

知乎日报 老狼 375℃ 评论

指责苹果「故意弄慢老手机,逼用户换机」前,先看看是怎么回事

图片:Kārlis Dambrāns / CC BY

如何正确理解苹果「降速门」中降速的意思?到底降了多少呢?

老狼,UEFI固件、服务器、嵌入式产品、开源硬件从业者

最近苹果刻意降速的新闻可是占据了各个头条,吓得我赶紧取消了老婆 iPhone 7 手机的系统更新。所有的新闻看起来似乎是升级系统后老手机包括还算新的 iPhone 7 速度也会下降不少。甚至哈佛大学也来凑热闹,公布了一项谷歌搜索趋势研究,分析了历年 iPhone 发布前后,网友们搜索“苹果手机变慢”关键词的峰值。结果发现,“iPhone Slow”的搜索趋势,正好与苹果历次新机的发布时间相吻合:

并和三星做了对比,发现并未与新款三星手机发布的时间重合。结果暗指苹果故意弄慢老手机,逼迫用户换机。一时间苹果又为它的傲慢付出了代价,成为千夫所指,舆论谴责甚嚣尘上,甚至被告上法庭。

单纯价值判断总是轻松的,可以为大脑节约不少能量。但作为可以独立思考的人,我们在做出价值判断之前,应该确实了解一下苹果公司的辩解,并分析它的辩护有没有道理,再做出自己独立的判断。

事件起因

时间最早可以追述到 1 年多前,在寒冷的天气里,iPhone4/5 会在电池还有 40%甚至 60%的情况下,突然断电,而且无法开机,直到插上电源。在插上电源后,电池电量直接变成正常,用户抱怨很大。于是苹果公司推出了新的系统升级,用户惊喜的发现,问题解决了,断电的情况没有再出现(参考资料 3)。于是一切都恢复了平静,世界再次和平。

但另一个声音慢慢出现了:“升级系统后,手机变慢了!”。大家开始只是猜测,没有实证,直到 Reddit 的一个帖子引起了大家的注意(参考资料 2),宣称有证据指出,让旧机器变慢是苹果的刻意做法,这一消息很快传遍了全球。Geekbench(没错,就是那个给 A11 打高分的测评软件)创始人 John Poole 于是亲自跑分做了验证(参考资料 1),证实相对 iOS 10.2.1,11.2.0 确实对 CPU 性能做了 throttling。GeekBench 的结果原先总是倾向于苹果,这次却爆了这个新闻,苹果公司坐不住了,发布了官方声明。

我们看一下苹果公司怎么说的:

Our goal is to deliver the best experience for customers, which includes overall performance and prolonging the life of their devices. Lithium-ion batteries become less capable of supplying peak current demands when in cold conditions, have a low battery charge or as they age over time, which can result in the device unexpectedly shutting down to protect its electronic components.
Last year we released a feature for iPhone 6, iPhone 6s and iPhone SE to smooth out the instantaneous peaks only when needed to prevent the device from unexpectedly shutting down during these conditions. We’ve now extended that feature to iPhone 7 with iOS 11.2, and plan to add support for other products in the future.

中文版:

我们的目标是向客户提供最好的体验,其中包括总体性能和延长设备使用寿命。在低温环境中,锂离子电池提供峰值电流的能力会降低,随着时间推移,存储的电量会减少,这会导致设备为保护电子部件而关机。去年我们针对 iPhone 6、iPhone 6s 和 iPhone SE 发布了一个特性,在需要时平抑瞬时峰值电流,防止设备在上述情况下关机。在 iOS 11.2 中,我们为 iPhone 7 发布了这一特性,并计划在未来使之支持其他产品。

GeekBench 的用词比较晦涩,throttling 不是 IT 人士估计不知道意思。而苹果公司声明更加具有”艺术“:Smooth out the instantaneous peaks only when blabla 和”在需要时平抑瞬时峰值电流“。而且这还是一个"feature"。这些背后真是的情况如何?

实验数据

我们先看一下 John Poole 的实验结果:

iPhone 6S 和 10.2.0 iOS
iPhone 6s 和 11.2.0 iOS

上面两个图是 KDE 图(Kernel density estimation),横轴是 GeekBench4 在 iPhone 6s 的 Benchmark 数据,纵轴是密度。

如何理解这两个图呢?其实很简单,这是个分布曲线图,他测试了很多 iPhone 6s,发现在运行 10.2.0 时候,benchmark 结果集中在 2500 分;而在运行 11.2.0 时,benchmark 的结果分散在很多地方,中间有很多尖峰。有部分还在 2500 分,而也有很大部分集中在 1500 分,甚至 1000 分!性能下降了一半多!

这说明从 10.2.0 到 11.2.0 升级之后,iphone 6s 可能性能会下降,而且可能会大幅下降!那么到底为什么有的下降多,有的几乎不降低呢?原因在于电池,如果电池没有怎么消耗,则性能不变或下降不大,电池越老,性能下降越大。这个可以从一位叫做 Sam 的用户那里得到印证。他原来的 iPhone 手机很慢,他用 DasherX 测试发现手机频率最高 600MHz:

在更换了新的电池,CPU 变成了 1400MHz,上升了 2 倍多:

Why & How

苹果公司为什么要这么做呢?当然是电池的老化问题。锂离子电池能量密度很大,而手机的电池又是里面能量密度最大的类型 Li-Cobalt:

锂离子电池优点很多,但是也有缺点:需要特殊电路保护防止电压 / 电流过载,这些保护电路构成了 Smart Battery,我们在将来会专门撰文介绍它是如何供电、充电以及和 CPU 交互的(zhuanlan.zhihu.com/p/32)。这里需要强调锂电池的防过载阈值会随着老化和温度降低而降低。这就解释了为什么前面 iPhone 手机断电的问题。在温度降低后,老化的电池在 iPhone 需要大规模算力的时候,输出电流触发了智能电池的保护,而自动断电了。而苹果的办法就是规避这种情形,显然武断地提高保护阈值太冒险了,那么只有从算力上打算盘了。

如何限制算力呢?读过我们专栏关于 CPU 系列的文章的同学应该会回忆起我们介绍 CPU 主频的一系列文章:

CPU 省电的秘密(一):EIST

睿频:榨干 CPU 所有的潜力(CPU 电源管理系列番外篇)

为什么 CPU 的频率止步于 4G?我们触到频率天花板了吗?

CPU 能用多久?会不会因为老化而变慢?

我们就会知道 CPU 主频是一个基频乘以倍频(ratio)来得到的,X86 是这样,ARM 也是。所以苹果公司应该是通过锁定最高倍频的方式,限制系统的最高性能。并且电池越老,锁定的值越低。这就是所谓的"Smooth out"了。

对用户的影响

看到性能下降一半多,很多人要大惊失色了。其实,大部分用户平时并不会触及最高倍频,影响并不大。如果大家手机一直在最高倍频下工作,很快手机就没电了。只有在玩大型游戏等等时候,会碰到这个问题,而且用户会发现性能下降十分严重。GeekBench 等测试软件往往会将性能推到极限,该问题暴露的也更加彻底。

结论

我可以明确的说,我不喜欢苹果。在我小的时候,AppleII 启迪了我,是我踏入计算机世界的原因,iPhone 的推出更是开启了一个时代。但现在苹果带给我的更多的是傲慢、压抑和冰冷,曾经高冷的微软倒是慢慢温情脉脉起来。相对苹果手机,我更喜欢安卓系统,也许是我的屌丝性格加上安卓的开放和 Linux 的自由吸引了我。但我并不反对老婆变成苹果的拥趸,每个人都有自己的选择,而我更爱选择的自由。

苹果的辩护目前看来是站得住脚的,高通的 CPU 也有过发热太大被手机厂商锁到低频的情况。但是我并不欣赏苹果的做法。我认为充分告知用户,让用户自己做出选择会是个好主意。也许苹果认为让用户在死机和降频之间选择,用户一定会选择降频,还会徒增烦恼。于是苹果“大大”主动帮助用户解决了选择的烦恼,毕竟苹果总是自我标榜,要“教育”消费者,消费者并不知道自己要什么。也许这就是我多年拒绝苹果手机的原因:选择并不可怕,可拍的是被选择和没有选择!

最后请大家思考一下:为什么苹果会爆出来降频问题,而三星等并没有?电池不是都要老化吗?

我的思考公布在下一期的其他里:zhuanlan.zhihu.com/p/32

参考资料:

[1]: iPhone Performance and Battery Age

[2]: PSA: iPhone slow? Try replacing your battery! ? r/iphone

[3]: Latest iOS 10 update has significantly reduced iPhone 6 and 6S random shutdown issues

[4]: TeckFire (u/TeckFire) - Reddit

转载请注明:微图摘 » 指责苹果「故意弄慢老手机,逼用户换机」前,先看看是怎么回事

喜欢 (0)or分享 (0)
发表我的评论