上一次更新了一篇选购经验类的杂谈,收到了读者们的正面评价。还没看过的小伙伴们推荐看一看:
但没想到,一石激起千层浪。文中关于手机SoC性能的观点,引起了广泛讨论。大家的争议主要在于:目前常见的跑分软件是否足够客观?Android和iOS平台之间是否存在巨大的性能差异?
而这次, 通过引入一种更为可靠的性能衡量指标——SPEC。希望能为大家解决这个疑问。
这就引出了第一个问题:
SPEC,全称“标准性能评估组织”(Standard Performance Evaluation Corporation),成立于1988年。这是一个由多个知名学府、学术机构和IT企业联合组成的第三方机构。它推出的SPEC测试在行业内有着极高的威望,可以视为是Touch Stone一般的存在。
很多经常关注数码行业的“老鸟”可能一脸懵逼了:SPEC?没听说过呀!好像也没见过那个媒体给手机跑这套测试?这是因为SPEC测试套件的价格非常昂贵,高达1000美元。而且SPEC只提供源代码,没有用户界面。还需要自行编译后才能运行。
说直白点,就是又贵又难用。哪像安兔兔这种,免费下载一键跑分,用户体验多好啊。但是SPEC专注于从实用出发,去衡量一个计算系统的实际性能。主要面向行业用途,而非把分数作为宣传的材料。
所以你能看到,SPEC官网上记录的Benchmark成绩,再高端的系统跑出来也就那么两位数。哪像安兔兔动辄十几万甚至几十万,看得人热血沸腾。作为厂商的宣传资料正合适。
另外,SPEC的CPU测试很有特点,测试成绩的影响因素包括以下三个方面:
换句话说,只要合理使用SPEC。像I/O、操作系统都不会对测试成绩产生太大影响。SPEC的测试成绩是适用于跨平台对比的。
简单介绍完SPEC,那我们就进入正题了。因为骁龙855和Exynos 9820的手机还未上市,我们就以目前安卓阵营的最强芯片——麒麟980作为代表,来跟苹果A12进行深入的对比。同时也穿插高通骁龙、三星Exynos的对比。希望能管中窥豹,带大家了解 Android 和 iOS 两大平台的性能特性和差距。
废话少说直接上图:
这么多的数据,是不是看懵了呢?SPEC CPU 2006测试分成整数运算(SPECint)和浮点运算(SPECfp)两部分。左侧的Bar代表功率和能耗,右侧的则是代表性能。
还是看不懂?没关系我给大家逐个解读。
先把功耗放一放,只看性能。在6款被测的安卓芯片中,麒麟980独树一帜。相比2018“爆款”的骁龙845,领先幅度达到了45~48%。当然这也不奇怪,毕竟骁龙845的核心架构和工艺制程都是上一代的产物了。
那公平点,跟同为7nm工艺的苹果A12比比?能很清楚地看到,苹果A12跟麒麟980拉开了44~54%的差距。实际上,到目前为止没有任何芯片性能足够比肩苹果上一代的A11,Not Even Close。
手机空间紧凑,电池有限;抛开功耗和发热谈性能就是耍流氓。来看看能耗:
电量消耗(Energy Usage),指跑完整个测试程序后芯片消耗的电量。麒麟980无论是整数抑或浮点。都是耗能最小的,甚至以轻微的优势压过了苹果A12。当然不能就这么简单地说麒麟980最省电,但足以证明在能耗方面的确有明显的优势。
而苹果的实力也很硬。因为在同一代的工艺制程下,越往高性能走,保持低能耗的技术难度就会成指数上升。而A12拥有两匹马的力气,只吃一匹马的口粮。这简直是让其他SoC都馋哭的黑科技啊。
平均功率(Average Power),这个数值可以有很多种理解方式。我的理解是:平均功率越高,那芯片能满负荷运行的时间就越短。因为相应的满载发热量会更大,手机的散热压力就大。越容易出现CPU降频、屏幕变暗等等。
比如臭名昭著的Exynos 9810。他的理论性不算差(仅次于麒麟980),但是它的功率达到了惊人的最高4.2W。一般手机很难持续承受这么高的发热量。所以使用中会频频撞墙,“有力使不上”,实际表现反而不如骁龙。
那苹果呢?A12的功率也到了4.2W,为什么就不像E9810一样翻车呢?原因很简单:A12的峰值性能很高(约1.8倍 E9810),目前只有极少数APP能摸到A12的性能天花板。偶尔有运算量较大的操作,借助高性能也能很快处理完毕。所以A12只有极少时间会达到最高功率(最大负载),散热压力就相对小些。
之前有朋友问我:你说A12有2倍强的性能。是不是说 XS比其他手机流畅一倍啊?
显然不是那么简单。
例如现在很流行的APP启动速度的评测。iPhone XS并没有表现出和芯片性能对等的运行速度,甚至还比不上麒麟980的机型。
既然高性能不一定代表更快的速度,那要怎么去理解手机芯片的性能呢?
如果把手机的性能比作一个房子,性能越高房子越宽敞;APP则是居住其中的住户。麒麟980好比一室一厅,而A12是三室一厅。
现在的APP,就像是毕业的小青年,单身一个人。住一室一厅,或者三室一厅。生活质量大抵是没有差别的。如果琢磨下收纳技巧,一个人住一室一厅甚至更惬意。(这个收纳技巧,对应GPU Turbo、ML预加载等提高性能调用效率的技术)
但是毕业2年、3年后,小青年也要结婚成家了。有了伴侣,有了孩子之后。无论怎么打理,一室一厅铁定是不够用的。必须要更大的空间才能满足更多人的生活需求。这时候三室一厅的优势就凸显出来了。
从发展的眼光来看待:从我们购买某款手机的瞬间,它的性能就定了,不会变化了。但是APP不会一成不变。系统、APP和游戏的胃口会越来越大,“吃”的性能越来越多。
直到某个时间点,手机所能提供的性能满足不了APP需求,卡顿也就无可避免地发生了。性能越是富余,那这个卡顿就会来的更晚一些。
没错!我又回归到了那个观点:要保证手机长久流畅使用。性能才是唯一可靠的保障。不然
500天后,18个月后,谁知道呢?
(此部分内容参考了Anandtech的这篇文章,作者Andrei Frumusanu)
很多人都说安兔兔、GB4是娱乐跑分。认为这些评分没有实际价值。那到底这些跑分,娱乐在哪?
Anandtech认为,很多跑分之所以“娱乐”。是因为这些跑分的测试项目,对芯片的内存子系统/ Memory subsystem(高速缓存、内存控制器等)压力太小,无法再现我们日常使用中的数据吞吐量。
具体会产生多大的差异?拿Geekbench 4和SPEC2006做个对比。将骁龙835的性能归一化,其他芯片均以倍数呈现。不难看出一个规律:GB4对高性能芯片的评分偏低(低估A11、A12,竟然有人还说GB4是AppleBench?),而对低性能芯片的评分又偏高(高估E9810)。
再直白点,娱乐跑分的体现,就是高低性能之间的评分拉不开差距。低性能芯片也能跑不错的分数,而高性能芯片却无法得到应有的高分。
每次APP更新,我们都能看到它们的尺寸以肉眼可见的速度增长,手机芯片需要处理的数据也是水涨船高。过去几年手机芯片工作量的增长,几乎等同于过去数十年桌面CPU的增幅。增长的速度还在不断加快。而有些评测软件,已经落后于时代的发展了。
所以Andrei认为,SPEC比GB4对内存子系统有着更大的压力。更接近于我们日常使用的环境。而安兔兔的CPU测试部分压力则甚至比GB4还小,所能提供的参考意义就更小了。
那话又说回来,为什么内存子系统这么重要?
Andrei认为现代手机芯片,要设计出很“胖”的核心不难。问题在于:如果缺少良好的内存子系统,把待处理的数据稳定持续的“喂”给核心处理。那无论核心多胖,也只会磨洋工;结果就是白费电力却得不到对等的性能。
显然,苹果很早就意识到了内存子系统的重要性,A12更是对内存子系统做了大刀阔斧的改进。在Andrei看来,接下来安卓阵营(高通、华为、三星、联发科)必须拿出更先进的内存子系统设计,才有希望追上苹果的脚步。
好,今天的知识大家都Get到了吗?有其他问题想了解,在评论里向我提问,也是非常欢迎哒~