版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33487044/article/details/86439036
平台 | 内核版本 | 安卓版本 |
---|---|---|
RK3399 | Linux4.4 | Android7.1 |
1.显示驱动的原理
通过操作Framebuffer
就可以控制到lcd
的显示
2、Framebuffer
的缺点
- 如果
app
写fb
速度慢,则lcd
图像变化也慢 - 如果
app
写fb
速度不快不慢,闪烁 app
写fb
速度快,一切ok
3、改进
3.1、使用多个fb
- DisplayController使用fb0
- app写fb1
- DisplayController使用fb1
- app写fb0
- 如此反复。。。
3.2、硬件合成
然而实际使用过程中,绘制图像有很多时候有重复工作,比如状态栏、导航栏、背景等,通常将状态栏、导航栏作为一层,背景作为一层,图标作为一层,通过硬件Hardware Composer合并输出
驱动支持hwc
:
每一层都对应一个驱动:/dev/fbx
app
操作某一层时,直接写对应的Framebuffer
,硬件会自动合并它们
因此ls /dev/graphics/
会有很多fb