Android显示系统(14)- Vsync机制(01) 框架介绍

一、前言:

我们知道屏幕显示一张图像是从左上角一个像素一个像素挨个显示的,我们常见的有水平同步(Horizontal Sync)和垂直同步(Vertical Sync)两种刷新方式,也就是Hsync和Vsync,其中,屏幕发出水平同步信号时候,我们就开始换行刷新下一行。屏幕发出垂直同步信号(Vsync)时候,我们就换下一帧图像进行刷新。比如,常见的刷新率为60HZ的屏幕,那么,我们就会16.6ms收到一次Vsync信号。

二、单缓冲机制:

我们知道Android底层是Linux,Linux显示驱动里面的FrameBuffer代表了屏幕即将要显示的画面,也就是说,在屏幕Vsync信号到来的时候,就会将FrameBuffer中的内容逐个像素扫描到屏幕上去。如果我们只有一个FrameBuffer会出现什么情况呢?

在这里插入图片描述

如上图所示,三个阶段情况如下:

  • 0.01秒的时候:Buffer中准备好了第一帧数据,显示器显示了一部分第一帧数据;
  • 0.015秒的时候:显示器才完整显示出了第一帧数据,但是Buffer中已经填充了部分第二帧数据;
  • 0.02秒的时候:Buffer中已经准备好了第二帧数据,显示器出现“撕裂”,一部分显示第一帧,一部分显示第二帧。

这是可以理解的,相当于你当着别人的面画

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值