从技术指标看,苹果的A15单核性能的Geekbench5能跑1700多分,这个性能超过10代i7,处于11代i7的水平。即使的安卓阵营,骁龙888的Geekbench5性能也有1100多分,这个成绩也有8代i7的水准。
但是,当我们真正使用的时候,感受不到手机处理器强大的性能。从负载来看,手机APP大多都是网页版能够解决,只要很低的性能就能流畅运行。
为什么,我们的处理器性能越来越强大,但是用起来却越来越卡呢?
一、流畅的手机应用需要什么性能
目前手机的分辨率大多在1080p+的级别,因为全面屏幕,往往做到2400*1080,与标准的1080P性能需求差不多。
而手机进入1080P时代是在2012年末,2013年初。当时流行的处理器是nVIDIA的Tegra3、骁龙8064、三星猎户座4412和华为海思的K3V2。而当时这些处理器,就已经可以流畅运行日常APP了。
笔者手里有一些不同时代的手机,我用geekbench3来跑分,看单核心性能差距多少。
主流的骁龙865单核,性能在3500分以上。
小米的骁龙888在跑Geekbench3的时候不能开全速,看不出实力。
骁龙855是3200以上、骁龙835在1800分左右、骁龙660是1500分左右、骁龙810是1100分左右、骁龙600是600分。
笔者手里最弱的手机是金立的s5.5,处理器是MT6592,能跑400多分,这个手机也是1080P的分辨率。
按照今天的app和安卓系统,大约单核1100分的手机就不太好用了。金立s5.5只有400分的性能,今天下载一个最新版本的APP,看起APP要很久很久,花好几分钟进去,使用时候非常卡顿,基本已经无法使用了。
但是,如果你用合适的APP版本,这个性能只有主流十分之一性能的机器,依然可以流畅运行。
金立s5.5的系统是安卓4.42,这个系统MT6592单核足以运行流畅的桌面。而如果使用安卓9.0,骁龙660也会感觉卡顿,如果使用安卓12,骁龙855的流畅度也不太好。
所以,系统版本直接决定了手机的卡顿。
在APP上,如果你在金立s5.5使用爱奇艺最新版,开启APP要以分钟计算,基本无法使用。但是,如果你在用爱奇艺极速版的最初版本,大约7秒可以开机。然后流畅播放1080p视频,正常使用完全没有问题。
同样,喜马拉雅极速版最初版本,5秒左右冷启动。与骁龙888用喜马拉雅最新版本的时间差不多,一切功能正常使用。
就是说,目前我们所使用主流手机只要十分之一的性能,就足以流畅运行。
现在手机卡顿,是系统和APP性能浪费造成的。
二、安迪比尔定律
在IT行业,除了摩尔定律,还有安迪比尔定律。硬件带来的高性能,会被软件的浪费带走,用户依然得不到良好的体验。
对于手机APP来说,同样一个功能,如何编程取决于程序员的实现方式。如果硬件水平有限,为了保证流畅,程序员就要做各种优化,使用执行效率比较高的工具,用各种算法优化来编程。这往往需要程序员有很高的技术水平。
如果硬件不加限制,那么程序员会自然而然的使用低效率,但是编程难度较小,不太需要优化的工具来编程,降低劳动强度和对程序员的能力要求。
在80年代初,为FC游戏机编程的日本程序员,可以直接看机器码编程,80年代中期,这些程序员就要用汇编语言了。日本一直到PS3时代,还可以直接对硬件编程,提升效率,所以PS3的性能比今天的手机弱很多,但是游戏画面依然是今天大部分手机游戏无法企及的。
所以,在2012年,程序员设计的程序,要让当时的处理器跑流畅。
而到了2021年,尽管一个APP的核心功能并没有什么变化,程序员依然会浪费大量资源,只让现在的处理器跑流畅。
结果,就是处理器性能提升10倍,程序员编程浪费10倍效率。
用户不断花钱更换手机,但是依然用不了多久就卡顿。因为出了新机以后,程序员就以新机不卡顿为标准开发新版本了。
三、如何让我们的手机不卡?
从个人角度出发,我们可以尽可能不升级系统,尽可能使用版本老一点的APP。
譬如,骁龙865的手机使用安卓11,使用微信7.010结果微信冷启动只要0.33秒。爱奇艺极速版1.10,需要0.8秒, UC浏览器极速版需要0.4秒。
而如果你用最新版本的微信,开机10秒是正常的,速度相差几十倍。
而从国家角度看,这种浪费是巨大的。从电力消耗角度,高效率的程序原本需要0.1W就可以运行。因为程序的臃肿要用2W。十多亿人这种浪费下来消耗巨大。
同时,程序的臃肿,也缩短了手机的寿命。一台电脑只要运行的程序不变,可以用几十年。而手机2年就卡顿了。
所以,应该国家对APP厂商进行限制,对上架审核进行控制,要求上架高效率的APP。
这样,既能减低消费者的负担,又能节能减排。