framebuffer 驱动

34 篇文章 0 订阅
14 篇文章 0 订阅

转载:http://www.hzlitai.com.cn/article/yejin-article/system/1167.html

FSL framebuffer驱动代码分析:

http://blog.chinaunix.net/space.php?uid=447727&do=blog&cuid=2213862

    open,release,read,write,ioctl,mmap等函数的实现是由fbmem.c文件实现了。也就是说所有的fb设备在给定了fb_info后,所有的操作都是一样的。在明确的fb_info前提下,fbmem.c中的函数可以工作的很好。这样大家应该感到非常轻松了吧,只要完成上述的几个设备相关的函数,frame buffer设备的驱动就写完了:


Framebuffer显示驱动架构如下:

-----------------------------------------------------

LCD接口
TTL信号,但是数字信号标准未统一。

1.对于STN LCD
数据传输有3种方式:4位单扫,4位双扫,8位单扫。
单扫是指对一整屏的数据,从上到下,从左到右,一个一个地发送出去。
双扫是指将一整屏的数据分为上下2部分,同时地从上到下,从左到右,一个一个地发送出去。
4位双扫也是用8位数据线,其中4根上半屏,另外4根下半屏。
TTL信号:
VFRAME 帧同步信号
VLINE  行同步信号
VCLK   像素时钟信号
VD[7:0]数据信号
VM     AC偏置信号
PWREN  电源开关信号

2.TFT LCD
TTL信号与STN类似,只是数据信号多达24根,对应像素值中的每一位。
TTL信号:
VSYNC  垂直同步信号
HSYNC  水平同步信号
HCLK   像素时钟信号
VD[23:0]数据信号
LEND   行结束信号(这不是必需的)
PWREN  电源信号


LCD指标:
1.PPI
每平方英寸所拥有的像素(Pixel)数目
2.分辨率
3.尺寸
4.解析度

android 双帧缓冲

-----------------------------------------------------


本文程序运行截图如下,左边是开单个线程读取并绘图,右边是开两个线程,一个专门读取图片,一个专门绘图:

对比一下,右边动画的帧速明显比左边的快,左右两者都没使用Thread.sleep()。为什么要开两个线程一个读一个画,而不去开两个线程像左边那样都“边读边画”呢?因为SurfaceView每次绘图都会锁定Canvas,也就是说同一片区域这次没画完下次就不能画,因此要提高双缓冲的效率,就得开一条线程专门画图,开另外一条线程做预处理的工作。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值