usf3.0?骁龙865?

快闪记忆体?处理器?内存容量?


看了一圈其他答案,没一个讲明白的,正值疫情严重,在家闲著没事干就来回答一下。

首先我们来看看手机系统的运行在硬体层面是怎么个操作流程。我们手机的基础硬体我就不再重复了,相信都懂。有留意过的朋友都知道,手机开机时屏幕显示内容基本上可以分成两段,第一段通常显示手机厂商的Logo,是一个静态的过程;第二段通常会出现一些个性化的动画,比如NOKIA经典的握手动画。从这里,操作系统的启动过程也可以被划分为类似的两个阶段。

手机操作系统储存在快闪记忆体当中,手机开机时,CPU从起始地址处载入BootLoader到内存RAM中;随后通过I/O与手机上各种晶元通信,初始化手机各个硬体资源;再然后从ROM中载入根文件系统,跳转内存地址到操作系统引导入口;此为第一阶段。第二阶段中,操作系统引导程序逐个载入运行必须的文件,启动内核,并启动系统服务程序,然后载入开机自启动的用户程序,从而完成整个系统启动。

在系统启动的过程中,反映到硬体层面的操作,首先就是CPU上电复位,随后需要从快闪记忆体中读取一系列的文件到内存中去,那么快闪记忆体性能(速度主要取决于协议:UFS3.0、UFS2.1 、EMMc5.0等)、内存带宽(主要取决于频率:LPDDR4、DDR4X等)以及CPU性能(主要是Load、Storage性能)在这个过程中起主要作用。

系统完成载入后,系统运行常用以及关键性文件已经被载入到内存中了,由于内存带宽通常足够高,此时系统响应速度主要取决于CPU性能以及调度策略(忽略后台应用程序影响),当然文件系统性能也会有影响,但是在现在CPU普遍都支持乱序执行的时代,只要是个手机应该来说系统流程运行是不成问题的。

前面铺垫了一些,回到题主主要关心的问题上来,软体的启动过程和软体运行过程。

软体的启动过程在操作系统上的响应机制是这样的:操作系统检测到你点击了某一个图标,然后从快闪记忆体中找到该程序的入口地址,并把该程序文件载入进内存,然后一边调整DVFS的调度策略唤醒大核心工作提高处理能力,一边从内存映射程序块、数据块到各Cache中;一边启动程序,一边从快闪记忆体中继续载入依赖项进内存,一边还要驱动GPU进行绘图;最终呈现在屏幕上的结果就是系统进入到软体启动动画中,呈现在监视窗中的结果就是CPU频率/功耗突然拔高。

在这个软体启动的过程中,与启动速度直接相关的主要是CPU的突发性能以及快闪记忆体性能或者说是文件系统性能,相对次要的是内存性能。

  1. 这里为什么特别提及文件系统这个概念,是因为虽然从物理上文件都是直接储存在快闪记忆体上的,但是操作系统并不是直接和快闪记忆体中的文件打交道,而是需要通过一个叫做文件系统的东西来读写。文件系统与快闪记忆体性能共同决定了快闪记忆体的访问性能(主要是随机性能)。通常来说,同时期的Android系统中文件系统性能并不会造成很大的差异,但还是有必要知道这个概念。
  2. CPU性能在这里特别强调突发性能,这是由于现代CPU通常配备了高性能核心和低功耗核心搭配的big.LITTLE架构,CPU在低负载下会切换到低功耗小核心上运行,在高负载时再切回大核心。所谓突发性能,一方面与CPU从低频率低功耗状态,动态调整到高频率高性能状态的时间直接相关。优秀的CPU调度策略通常能够将这个时间控制在100ms以内,如Snapdragon 845、麒麟980在这方面都超过了Apple家同时期产品。Android阵营在DynamIQ技术的加持下,动态调度策略都保持在了优秀水准。另一方面,突发性能还与核心调度策略直接相关。这里同样还是DynamIQ技术加持下,Android阵营的SoC结构复杂,设计方案更是五花八门。在一般应用程序主要与单核性能相关的背景下,高通和海思1+3+4方案著重强化了单核性能,配合DynamIQ技术做到了灵活、高效,性能与能效兼得;反观联发科早期三丛簇结构就好似胶水核,调度策略不灵活。
  3. 内存性能的重要性就不说了,但在软体启动这种突发操作过程中,重要性没有前两者来的高,但并不是说不重要。上述观点均是建立在内存容量充足的前提下,内存带宽的影响相对较小,但如果内存容量不足,那就是另一番场景了,就不多说了。

软体的运行过程则相对简单一些,软体的运行环境已经整个被载入进了内存,除了像游戏这种随时需要与快闪记忆体交换数据的软体,以及像淘宝京东这种需要大量缓存的软体,通常软体中的操作在良好的分支预测性能以及支持乱序执行的CPU上都可以做到快速响应(前提是内存充足,GPU够用)。

一般的软体如知乎,在不包含动图或视频的前提下,整个软体在响应完成一次用户点按操作后通常就没有什么负载压力了;而像微博之类的包含大量视频、图片需要渲染的程序,则需要频繁地与快闪记忆体进行数据交换,这个过程需要CPU参与,并积极调用GPU资源做解码、渲染图像的操作。当然,这里还有一个系统帧率的影响,不过帧率一般只与GPU负载有关,不会占用CPU资源。

而游戏是一个复杂的场景。游戏通常包含大量的地图资源,这些地图资源只在场景载入初期从快闪记忆体中读取到内存,并在载入下一个场景时从内存中释放(对于吃鸡这类大地图场景,地图通常是分块读取的,不在视野之内的地图不会一同读取),所以快闪记忆体性能在这里主要影响的是游戏场景的载入速度,与游戏过程中的流畅度关系不大。游戏通常是多线程优化,因为游戏不仅涉及到大量的计算,还涉及到频繁的访存操作以及网路通信需要的ASE加密解密计算。这些任务通常被分摊到多个核心完成,这对于如A76这种4 ALU发射,2 FPU发射的八核CPU来说构不成威胁,512ALU的Adreno GPU也能够将频率推到60帧毫无压力。真正影响帧率稳定性却是SoC里的DVFS。

由于游戏通常不可能将全部CPU资源以及GPU资源吃满,SoC在调度时,当性能可以满足需求后就会逐渐调整各个核心各个部件的功耗,以达到一个最佳的动态平衡从而获取最佳的效能。但是,游戏场景中的实时负载并不是一成不变的,这就造成了当你遇到团战等场景时,会出现复杂陡然增加,而性能却一时之间跟不上,而DVFS的调整总是出现在实际性能与需求性能出现偏差时才做出调整,也即DVFS的响应总会慢一拍,这就造成了掉帧,同时也不达不到最佳功耗。据Anadtech解析,华为十分鸡贼地针对每一款游戏训练了专属模型,为每一款游戏针对性的调整DVFS策略,从而使得SoC总能在最佳能效下实现最佳性能,并将其命名为GPU Turbo。

所以,影响速度地因素太多太多,绝不是简单的归咎为,处理器或者快闪记忆体之类的,而是一个复杂的、综合的影响因素。希望上述回答可以帮到你。


骁龙865就是高通的处理器……


最重要的是处理器及系统(系统是软体,但是和处理器分不开),这个起到决定性作用。打开二十款应用最快的是华为mate30,麒麟990在这方面是很不错的。好的处理器可以更快地进行数据处理,而系统就是如何利用好处理器。

其二是屏幕刷新率和屏幕采样率。刷新率是一秒钟手机能有多少幅画面,90hz也就是90张画面就是比60hz来的顺畅。顺畅的同时,屏幕采样率也要跟上,就是跟不跟手的问题。高刷新率高采样率可以比其它手机更快的接受信息。

其三是电池及优化。比如小米手机在10%以下电量就会以降低帧率的方式减少电量流失。在这个时候打开应用或者是进行操作就自然而然的会卡一些。

最后最后……一分钱一分货,想买到好的手机,不可能光靠低价,性价比也不是单指低价。价格低大概率是阉割了一些你看不到的地方的。


19年以后的旗舰晶元,打开速度取决于网速、广告和过度动画。


处理器和运行内存。但是跟厂商的优化有很大关系。同样的处理器和运存不同的厂商速度也可以差很多。


文件系统!不信翻3年前手机打开应用的对比视频。

ufs2.0输给了emmc!


cpu决定总体运行速度,ram决定当前时间打开的应用所需占的存储容量,rom和容量没有关系,跟你说的ufs3.0有关,这是快闪记忆体存储方案,决定调用数据的时间。

所以你说的没错,决定一个手机的运行速度就是cpu+rom+ram


其实手机大多数情况的运行速度取决于快闪记忆体和动画以及系统机制和屏幕刷新率,真正考验CPU峰值性能的情况很少很少,除了白名单的跑分软体,温控也不允许你火力全开。手机也没什么需要性能的场景,低温烫伤和电池爆炸不是开玩笑的。

手机还是安心做好通信功能,满足充电条件的情况下可以在家里和办公室刷刷知乎b站之类的,至于其它的别想多了,在超导体和电池技术取得突破前,还是老老实实的做手机该做的。

卖手机的水军和相关利益群体一直在制造性能恐慌:你的手机卡了慢了,赶快换我的新手机,跑分如何如何....当然经济条件允许的话,可以年年换,尤其是今年比较火的90hz和120hz的屏幕,绝对比跑分多少多少提升使用体验。


推荐阅读:
相关文章