Hardware Vsync的产生与Fence释放时机

1. 前言

从Panel & DDIC -> DRM -> HWC -> SurfaceFlinger -> Choreographer,贯穿整个Android Display Architecture的主线脉络就是vsync。vsync是节奏的带动者,从硬件到软件,从底层到上层,所有显示模块都按照vsync的节奏运行和等待。

2. TE信号

如此重要的vsync是如何产生的呢?

vsync的产生是一个从底向上的过程,需要从下位机到上位机的逐层处理。

首先由Tearing Effect输出引脚产生TE脉冲信号,这是vsync的源头。通过示波器图像我们可以直观的看到TE信号的形状,黄色的那条按照固定周期产生脉冲线就是TE信号的波形图。

image-20200608114554358.png

TE的周期与频率由屏幕的硬件特性决定,一般来说它决定了屏幕可支持刷新率的上限(有特殊情况)。

3. MDP Hardware Vsync Working Model

MDP(Mobile Display Processor)采集完TE信号之后,会将其转换成MDP的Vsync信号 - rd_ptr_irq。

MDP Hardware Vsync的工作模型有四个关键中断:

  • rd_ptr irq - 表示屏幕开始扫描读取
  • wr_ptr irq - 表示DSI开始传输数据
  • pp_done

你可能感兴趣的:(Android图形框架,android,performance)