当前位置:首页 > 实用技巧 >

vsync是垂直同步吗(vsync开启还是关闭)

来源:原点资讯(www.yd166.com)时间:2023-06-24 17:38:22作者:YD166手机阅读>>

码个蛋(codeegg)第 806 次推文

作者:LooperJing

博客:https://www.jianshu.com/p/9ac245657127

码妞看世界

vsync是垂直同步吗,vsync开启还是关闭(1)

乌桕树叶红了。

写在前面

优化性能一般从渲染,运算与内存,电量三个方面进行。

今天聊一聊Android的渲染机制,我们要知道Android系统每隔 16ms就重新绘制一次Activity,也就是说,我们的应用必须在16ms内完成屏幕刷新的全部逻辑操作,即每一帧只能停留16ms,渲染机制说完之后,然后在说如何去优化UI。

1、为什么是16ms

16ms意味着1000/60hz,相当于60fps。

这是因为人眼与大脑之间的协作无法感知超过60fps的画面更新。

12fps大概类似手动快速翻动书籍的帧率, 这明显是可以感知到不够顺滑的。

24fps使得人眼感知的是连续线性的运动,这其实是归功于运动模糊的效果。24fps是电影胶圈通常使用的帧率,因为这个帧率已经足够支撑大部分电影画面需要表达的内容,同时能够最大的减少费用支出。

但是低于30fps是无法顺畅表现绚丽的画面内容的,此时就需要用到60fps来达到想要的效果,超过60fps就没有必要了。如果我们的应用没有在16ms内完成屏幕刷新的全部逻辑操作,就会发生卡顿。

2、为什么16ms没完成绘制就会卡顿?

Android系统每隔16ms发出VSYNC信号,触发对UI进行渲染,VSync是Vertical Synchronization(垂直同步)的缩写,是一种在PC上很早就广泛使用的技术,可以简单的把它认为是一种定时中断。而在Android 4.1(JB)中已经开始引入VSync机制。

vsync是垂直同步吗,vsync开启还是关闭(2)

上图所示是VSync机制下的绘制过程。

从上图可以看出,CPU和GPU的处理时间都少于一个VSync的间隔,即16.6ms。如果每个间隔都有绘制的情况下,当前的FPS即为60帧。

当CPU和GPU处理时间都很慢,或因为其他的原因,如在主线程中干活太多,那么就会出现如下图这样的状况。

vsync是垂直同步吗,vsync开启还是关闭(3)

从上图可以看到,CPU和GPU的处理时间因为各种原因都大于一个VSync的间隔(16.6ms),所以在第二个VSync还在处理1区域的绘制时,不可能实现理论上的FPS60,同时也出现了丢帧(SF: Skipped Frame)情况。

试想用户盯着同一张图看了32ms而不是16ms,当然很容易察觉出卡顿感,哪怕仅仅出现一次掉帧,用户都会发现动画不是很顺畅,大家在察觉到APP卡顿的时候,可以看看logcat控制台,会有drop frames类似的警告,那么是什么原因导致16ms没能完成绘制的操作呢?

3、渲染原理

上面说了CPU和GPU的处理时间因为各种原因都大于一个VSync的间隔(16.6ms),导致了卡顿。

渲染操作通常依赖于两个核心组件:CPU与GPU。

CPU负责包括Measure,Layout,Record,Execute的计算操作,

GPU 负责Rasterization(栅格化)操作。

何为栅格化,我也是第一次听到这词,看下图。

vsync是垂直同步吗,vsync开启还是关闭(4)

首页 12下一页

栏目热文

辐射4关闭垂直同步

辐射4关闭垂直同步

《辐射76》首发马失前蹄以后,许多玩家都选择回归《辐射4》,所以这款老游戏依然还在不断有新的MOD支持。《辐射4》默认锁...

2023-06-24 18:10:27查看全文 >>

如何打开垂直同步(电脑怎么打开垂直同步)

如何打开垂直同步(电脑怎么打开垂直同步)

垂直同步一个游戏玩家眼中神秘的开关截图党奉它为宝具,FPS玩家视它为禁忌而新手玩家,在开还是关之间摇摆不定 这个选项究...

2023-06-24 18:09:22查看全文 >>

电脑垂直同步开好还是不开好(电脑垂直同步好还是开启好)

电脑垂直同步开好还是不开好(电脑垂直同步好还是开启好)

稿源:中关村在线经常玩3A大作的玩家会在游戏设置中看到“垂直同步”这个选项,从字面上无法理解这是一个什么功能,而不少攻略...

2023-06-24 17:50:53查看全文 >>

为什么垂直同步关不掉(垂直同步在哪里关闭)

为什么垂直同步关不掉(垂直同步在哪里关闭)

开启垂直同步,会让你的游戏画面帧数不会超过60帧,关闭有时可以超过60帧甚至达到更高。垂直同步的特点是防止跳帧,是个很好...

2023-06-24 17:28:27查看全文 >>

垂直同步要怎么关(垂直同步怎么关闭不了)

垂直同步要怎么关(垂直同步怎么关闭不了)

在玩游戏的时候,很多用户会开启垂直同步,但是后面发现玩游戏的时候出现跳帧情况,于是又想要关闭掉,那么电脑垂直同步怎么关呢...

2023-06-24 17:34:47查看全文 >>

正三和弦是哪三个和弦(正三和弦和副三和弦的区别)

正三和弦是哪三个和弦(正三和弦和副三和弦的区别)

对于一些初学声乐的艺术生来说,最难的不仅仅是实际的演唱和演奏,还有各种专业术语的不同定义,如果不能在理论层面打好基础,那...

2023-06-24 18:02:14查看全文 >>

最常用的三种三和弦(三和弦的全部种类图解)

最常用的三种三和弦(三和弦的全部种类图解)

1.什么是和弦?和弦是乐理上的一个概念,指的是一定音程关系的一组声音。将三个或以上的音,按照三度或非三度的叠置关系,在纵...

2023-06-24 17:36:37查看全文 >>

所有的三和弦有哪些(大三和弦有哪些)

所有的三和弦有哪些(大三和弦有哪些)

很多同学学了很久的和弦了,会弹也会按,却不知道到底什么才是和弦,为什么和弦要这样按。今天我们为大家解读一下。将三个或三个...

2023-06-24 18:02:22查看全文 >>

三和弦的全部种类图解(和弦基础知识)

三和弦的全部种类图解(和弦基础知识)

HI 各位小伙伴 昨天给大家分享了一点音程的小知识 , 那么音程与和弦有什么关系呢? 我个人的理解: 音程是二音之距离 ...

2023-06-24 18:07:03查看全文 >>

正三和弦是哪几个和弦(副三和弦是哪几个音)

正三和弦是哪几个和弦(副三和弦是哪几个音)

给C大调的旋律配和弦时,除了正三和弦与副三和弦外,还有暂转属调的II7和下属调的I7,以及其他几种和弦,下面将一一介绍。...

2023-06-24 17:53:59查看全文 >>

文档排行