directFB的基本概念

来源:互联网 发布:mac千牛登陆不上 编辑:程序博客网 时间:2024/04/29 08:23
转自: http://blog.chinaunix.net/u/17258/showart_371661.html

 A Surface is a reserved area in memory where pixel data for one image is stored in a
specific pixel format. A Surface can reside in video and/or system memory. It is possible to perform drawing operations on a surface or to Blit the surface to another.
  In fullscreen mode, the visible screen is represented by the ”‘PrimarySurface”’, so it is possible to perform graphics operations directly onthe visible screen.Every Surface can optionally use double buffering,graphics operations are then first executed on a secondary buffer andbecome valid after Flip() is called. To prevent flickering it isadvised to use Doublebuffering on the primary Surface in most cases.

Depending on the graphics hardware, there are one or more display Layers. A standard PC graphics card has only one Layer, but sophisticated devices like TV set top boxes may support two or more layers. Layers occupy different areas in video ram,and are usually combined by using alpha blending. This in doneautomatically by the display hardware. If the content of the lowestLayer changes, no repaint has to be done and the contents of the abovelayers remain untouched. Today, most PC graphics cards also support anadditional layer (a ”‘video layer”’), which can be scaled and doescolor conversion from YUV to RGB. This layer cannot usually be blendedand has to remain fully opaque. Video layers are supported by variosDirectFB graphics drivers.

Normally the contents of a layer’s surface is controlled by the integrated windowing system that shows the windows belonging to the layer on a configurable background. Each window has its own surface thatis used by the windowing system to produce the composed image ofoverlapping windows. Alternatively applications, especially games, canget exclusive access to the layer. This way the application has directcontrol over the layer’s surface and it’s contents, no windows areshown.

  • 1 IDirectFB (top-level) <--> N Screens
  • 1 Screen <--> N Layers
  • 1 Layer <--> 1 Primary Surface
  • 1 Layer <--> N Windows
  • 1 Window <--> 1 Window Surface
  • 1 Surface <--> N Subsurfaces
so,make the conclusions:
    layer    object:screen,layer,window
    drawing  object:surface
    Every layers has its own surface.

Then the concepts above told us how to use DFB:drawing on the surface ,management on the layer object.
原创粉丝点击