苹果让iOS 12变快究竟做了哪些升级?

苹果

iOS 12比iOS 11更快、更平滑了,升级了的锋友肯定都同意这一点。但苹果为了让iOS 12变快究竟做了哪些升级呢,只有发布会上说的调整处理器运算资源吗?当然不是,在昨天“Cocoa Touch的新特性”这场演讲中,苹果为我们介绍了针对iOS 12做出的一系列改变。

 

改进预加载功能

在iOS 12中,苹果工程师攻克了困扰用户数年的卡顿问题,他们在检查官方App时发现了过去丢帧的原因。在iOS中,用户滑动、点击屏幕的时候就需要即时渲染生成内容,比如说菜单列表或者是文档中的图形,这个生成的过程花费的时间就会导致延迟。

 

苹果让iOS 12变快究竟做了哪些升级?1.jpg

 

为了降低这一延迟,苹果在iOS 10中引入了一个名为“Cell Pre-fetch”的功能,简单来说就是在后台预测用户的动作,然后预先加载好相应的内容,当用户确定了这个点击或滑动马上把预加载好的内容呈现上来,这样一来就不会延迟了,而且不会出现处理器负载突然加大的问题。

虽然“Cell Pre-fetch”确实让iOS 10变快了,但是仍然没有完全解决丢帧问题,工程师们发现,当系统在预加载内容的时候,处理器也同时在渲染确定会在屏幕上呈现的那一组内容,二者同时进行就会导致CPU遇到瓶颈,然后两个任务就都变慢了。

 

苹果让iOS 12变快究竟做了哪些升级?2.jpg

 

为了解决这一问题,苹果在Cocoa Touch(开发者创建iOS App时使用的接口)中重新对任务进行了排序,在屏幕渲染任务完成之后,预加载才启动,因为前者需要马上被用户看到,更加重要。

 

CPU响应机制升级

除了这一点之外,CPU也有一定的升级。此前的iOS设备中,在CPU负载很小的时候也会发生丢帧,因为在任务很少的时候CPU会降低频率进入怠速模式。但是如果用户突然触发了一个比较麻烦的任务,CPU就需要一点时间反应过来然后加快频率,这一过程中就会发生延迟。

而在iOS 12中,苹果优化了CPU的响应机制,能更快地从低频提升到高频,并且iOS 12还很聪明,不会把CPU的频率拉得太高,只会提供完成这个任务所需要的那个频率上,所以在完成任务之后,CPU也能够很快将频率降到合适的怠速水平,减少电池的消耗。

 

Auto-layout(自动布局)功能升级

紧接着还有对Auto-layout(自动布局)功能的升级,Auto-layout让开发者能对App内的图标、文字等元素更方便地定位(比如据边框多少像素),以适应不同的屏幕尺寸。但是苹果工程师发现这个从iOS 6就有的功能现在看来有些过于耗费资源了,在不同的情况下,Auto-layout使用的资源可能会呈指数级增长,比如元素在嵌套和依赖于其他元素进行放置两种状态下,耗费的资源大不相同。

 

苹果让iOS 12变快究竟做了哪些升级?3.jpg

 

在iOS 12中,苹果大大减少了会导致指数缩放的元素,减轻了对CPU和GPU的负担。总体来看,让渲染的元素彼此独立放置、互不干扰能够减少资源消耗。

 

自动备份存储技术

最后,苹果还介绍了iOS 12的自动备份存储技术,它可以减少应用程序运行的时候消耗的内存量。在苹果的演示中,当旧版系统渲染相同大小的彩色照片和灰度图像(只存在灰度信息的黑白照片)时,耗费的内存竟然是完全一样的,但其实这两张照片包含的信息存在显著差异,彩色照片每个像素都有色值等信息,黑白照片只有灰度信息。

而在使用自动备份存储技术之后,系统会对不同文件包含的数值信息进行一个初步的判断,然后再分配合适的内存给它,不会像以前那样一视同仁地处理所有内容,这样做显然可以避免浪费内存资源。

除了以上四点之外,苹果还介绍了不少加快系统运作的方法。不过在演讲的最后,工程师还是表示现在他们正在积极地对这些功能展开工作,希望在iOS 12正式版上线之前(今年九月)完成优化,如果无法完成,可能会推迟几个版本。

 

相关阅读:

iOS12支持哪些设备?iPhone4/4S/5等老机型是否支持iOS 12?

iOS12 Beta1固件下载地址大全

iOS12怎么升级?iOS12升级与降级至iOS11.4./11.3.1教程