DirectFB 源码解读之双缓存实现
来源:互联网 发布:天翼进销存软件 编辑:程序博客网 时间:2024/06/01 08:58
双缓存是画图时一个常用的技术,它的基本原理是在其中一个缓存中作图,完成后提交显示,同时在另一块缓存中继续作图,这样两块缓存交替画图-显示,实现了两者的同步进行,提高了效率。
(1)用户自己分配,并在createSurface是将该内存地址传递给DFB,这种方式需要在createSurface时指定DSCAPS_PREMULTIPLIED属性
(2)DFB自动分配,大部分用户使用这种方式。
- role即buffer的角色,有三种CSBR_FRONT(0), CSBR_BACK(1),CSBR_IDLE(2),分别表示前缓存,后缓存和闲置缓存。
- 通常,总是在前缓存中画,即role总是CSBR_FRONT。另外,前缓存和后缓存只是一个逻辑概念,它所指向的buffer是交替变化的,
- surface->buffers[]是一个buffer的数组,buffers[0]指向第一个buffer对象,buffers[1]指向第二个buffer对象,等等。该数组的大小是MAX_SURFACE_BUFFERS,即6个。
- surface->buffer_indices[]是一个整数数组,它的大小也是6,我个人认为不需要这个变量,仍然可以工作,看不出他的真正用途是什么。
- surface->num_buffers记录了这个surface有效的buffer数量,如果指定了DSCAPS_DOUBLE,那它就是2;如果指定了DSCAPS_TRIPLE,那它就是3.
- surface->flips是一个整数值,系统每次调用Flip函数,这个值就会加1。
- DirectFB 源码解读之双缓存实现
- DirectFB 源码解读之双缓存实现
- DirectFB 源码解读之双缓存实现
- DirectFB 源码解读之双缓存实现
- DirectFB 源码解读之初始化-10
- DirectFB 源码解读之初始化-1
- DirectFB 源码解读之初始化-2
- DirectFB 源码解读之初始化-3
- DirectFB 源码解读之初始化-4
- DirectFB 源码解读之初始化-5
- DirectFB 源码解读之字体-1
- DirectFB 源码解读之字体-2
- DirectFB 源码解读之初始化-10
- DirectFB 源码解读之gfx硬件加速如何工作
- Retrofit 源码解读之离线缓存策略的实现
- Retrofit 源码解读之离线缓存策略的实现
- Retrofit 源码解读之离线缓存策略的实现
- DirectFB 源码解读之外设输入处理流程
- Mysql和sqlServer命令比较
- emacs org pic 模式
- ROLLUP、CUBE 和GROUPING用法 .
- 开始正式学习C语言
- PHP中文分词算法及代码实现
- DirectFB 源码解读之双缓存实现
- 在linux下安装mysql
- java正则表达式
- ASP.NET访问网络驱动器(映射磁盘)
- 创建表时参数PCTFREE和PCTUSED
- Eclipse中导入MyEclipse 的Web项目,没有标示Web标识
- PC/UVa 题号: 110703/1014 Euclid Problem
- WebSocket(2)--为什么引入WebSocket协议
- JSTL标签库