层(Layers)

表示一块儿独立的图像缓冲区。大多数的嵌入式设备都有多个层。他们由硬件使用合适的alpha值来blending,然后显示。

表面 (Surface)

用来保存像素数据的保留内存区域。DirectFB的Drawing和blitting操作最终都是作用于表面(surfaces)上.表面的内存可以从显存(video memory)得到,也可以从系统内存(system meomroy)得到,这由给定的限制决定。

主层 (Primary Surface)

表示特定层的frame buffer的特殊表面。如果主表面是单缓冲的,任何作用到这个主层的操作,都会直接在屏幕上见到。

他们之间的关系主要是一些一对一或是一对多的关系:

  • 1 IDirectFB (顶层) <--> N 屏幕(Screens)
  • 1 屏幕(Screen) <--> N 层(Layers)
  • 1 层(Layer) <--> 1 主表面(Primary Surface)
  • 1 层(Layer) <--> N 窗口(Windows)
  • 1 窗口(Window) <--> 1 窗口表面(Window Surface)
  • 1 表面(Surface) <--> N 子表面(Subsurfaces)
通常的状况是一个屏幕有一个显示层,但是DFB支持他们每个有多个实例

层(Layers)和屏幕( Screens)

每一个屏幕可以有一个或是多个层,通常,一个屏幕只有一个层,但是某些支持overlays的系统,由于硬件支持一层显示在另一层上面,可以有多层。

屏幕(Screens)和(Windows)

屏幕不能直接创建窗口(Window),但是你能请求得到一个屏幕(Screen)的主层(Primary Layer)的ID,然后请求IDirectFB接口(interface)给你那个层(Layer)的接口,然后通过这个接口来创建窗口。

表面(Surfaces)和(Windows)

每一个窗口有一个和它关联的表面,画在表面上的内容并不会马上显示在屏幕上,因为窗口管理器会负责将窗口的所有表面组合到主表面上---基于所要刷新的区域和堆栈顺序。当有变化的时候,表面的Flip()函数会通知窗口管理器。

表面(Surfaces)和(Layers)

一个层同样有一个和他关联的表面;这个表面是这个层的屏幕内存的直接表现,在独占(exclusive)模式下,你只能访问这个表面,否则,你只能创建一个窗口,然后用窗口管理器来绘制这个表面

DirectFB、Layer、Window、Surface之间关系的更多相关文章

  1. Activity Window View的关系

    http://blog.csdn.net/chiuan/article/details/7062215 http://blog.163.com/fenglang_2006/blog/static/13 ...

  2. Vulkan Tutorial 07 Window surface

    操作系统:Windows8.1 显卡:Nivida GTX965M 开发工具:Visual Studio 2017 到目前为止,我们了解到Vulkan是一个与平台特性无关联的API集合.它不能直接与窗 ...

  3. TLS与SSL之间关系——SSL已经被IEFT组织废弃,你可以简单认为TLS是SSL的加强版

    TLS与SSL之间关系 原文地址:SSL vs. TLS - What's the Difference? from:https://juejin.im/post/5b213a0ae51d4506d4 ...

  4. $(document).ready() 与 window.onload 之间的区别

    1.执行时机 window.onload 是网页中所有的元素都加载到浏览器后才执行 $(document).ready() 是dom完全就续就可以调用 例如:如果给一副图片添加点击事件,window. ...

  5. 云计算三种服务模式SaaS、PaaS和IaaS及其之间关系(顺带CaaS、MaaS)

    云计算架构图 很明显,这五者之间主要的区别在于第一个单词,而aaS都是as-a-service(即服务)的意思,这五个模式都是近年来兴起的,且这五者都是云计算的落地产品,所以我们先来了解一下云计算是什 ...

  6. 【转】Oracle - 数据库的实例、表空间、用户、表之间关系

    [转]Oracle - 数据库的实例.表空间.用户.表之间关系 完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机 ...

  7. jQuery的$(window).load与、(document).ready和window.onload的关系

    jQuery的$(window).load与.(document).ready和window.onload的关系 $(function() { console.log('document.ready ...

  8. $(document).ready()和window.onload之间的差异

    最近使用$(document).ready(function(){})遇到一个问题:加载页面后发送数据请求后台,得到的数据不对,后发现请求后台时,发送的数据为空,没有获取到值导致的.------改成w ...

  9. 2.java面向对象类与类/类与对象之间关系详解

    继承.实现.依赖.关联.聚合.组合的联系与区别 下面的内容很基础,同时也很简单,但是也很重要. 继承 指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父接口)的功能,并可以增加它自己的新功 ...

随机推荐

  1. Dubbo java.io.IOException: Can not lock the registry cache file

    跑单测用例的时候,以前执行成功的用例,运行时控制台仍然会报 dubbo 相关的错误: Failed to save registry store file, cause: Can not lock t ...

  2. ps人物像发丝的抠图处理

    1-复制图层——使用快速选择工具——添加选区(包含发丝)——调整边缘 2- 提高半径(尽量高)——降低移动边缘——输出到新建图层 这个时候,我们发现人物的很多地方是透明的,不用担心,因为我们这一步先是 ...

  3. JQuery和原生JS跨域加载JSON数据或HTML。

    前提:有时候需要在网页上,加载另一个网站上的数据.或者加载另一个网站上的一个页面.Js的Ajax请求不具备跨域功能,可以使用JQuery来实现. 网页端JS代码: $(function () { $. ...

  4. linux系统和Windows系统共存

    最近接触了linux系统,因为对linux系统一直存在一种敬畏之心,所以决定研究研究 那么今天我在这里呢是要和大家分享一下在Windows存在的情况下安装双系统linux 那么第一步呢,就是斤BIOS ...

  5. java 反射与常用用法

    java通常是先有类再有对象,有对象我就可以调用方法或者属性. 反射其实是通过Class对象来调用类里面的方法.通过反射可以调用私有方法和私有属性.大部分框架都是运用反射原理. 如何获得Class对象 ...

  6. HTML 部分常用属性、组成属性|...超链接、路径、锚点、列表、滚动、URL编码、表格、表单、GET和POST

    URL地址 就是我们所说的网址:www.jd.com 浏览器内核,渲染引擎 Ie内核:triteent 谷歌/欧鹏:blink 火狐:gecko 苹果:webkit 渲染引擎是出现兼容性的根本问题 - ...

  7. node.js下mongoose简单操作实例

    Mongoose API : http://mongoosejs.com/docs/api.html // mongoose 链接var mongoose = require('mongoose'); ...

  8. 青客宝redis内部分享ppt

    Redis:最好的缓存数据库 说Redis是缓存服务,估计有些人会不开心,因为Redis也可以把数据库持久化,但是在大多数情况Redis的竞争力是提供缓存服务.说到缓存服务必然会想到Memcached ...

  9. 在hive中直接对timestamp类型取max报错

    之前直接对timestamp类型做max操作, select id,max(updatetime) updatetime from his.tag group by id; 结果查询的结果有的显示为1 ...

  10. 在SrollView中嵌套GridView或ListView(转)

    原文链接:http://blog.csdn.net/gaojinshan/article/details/17055511 我想在同一个界面中,使用两个GridView,两个GridView一起上下滚 ...