DirectFB在嵌入式遠程桌面控制系統中的應用
2 DirectFB 圖形系統
2.1 DirectFB 簡介
DirectFB 項目是由德國Convergence 公司推動的Opensource 計劃的一部分,是面向嵌入式設備專注于Linux Frame-Buffer 開發的小巧、強大、靈活和易于使用的圖形系統,提供一些基本的圖形加速、輸入設備處理提取、透明窗口和多重顯示層的功能,以最低限度的資源使用和開銷,提供最大的硬件加速度性能。
Linux 下有多種圖形子系統函數庫可供選擇,如Xlib、SDL、Allegro、Mesa3D 和DirectFB 等。其中DirectFB 定位于中高階層的繪圖、游戲應用、STB(Set-Top-Box)、MHP(multi-mediahome platform),支持dev/fb、osx、sdl、x11、/dev/men 等系統,它在嵌入式開發中具有很多優勢:
?、傩∏汕乙浦残院茫?/font>
②支持硬件圖形加速、輸入設備的處理和抽象、無縫整合窗體系統;
?、郦毩⒌馁Y源管理;
?、茏裱_源許可證。
2.2 DirectFB 圖形系統實現圖形加速
DirectFB 圖形系統構建在FrameBuffer 圖形引擎之上,是一個完整的硬件抽象層,提供了對每個圖形操作的軟件回饋,由于這一功能還沒有被底層硬件支持,因此需要一種能夠提取圖形的硬件設備的支持。DirectFB 體系結構如圖1 所示,DirectFB 圖形芯片驅動程序訪問顯存映射的圖形處理器I/O端口向圖形處理器提交命令,即實際的硬件加速的啟動是在用戶空間完成的。
FrameBuffer是內核中的一種驅動程序接口,它將顯示設備抽象為幀緩沖區,用戶可以將它看成是顯示內存的一個映像,將其映射到進程地址空間直接進行讀寫操作,而讀寫操作可以立即反映到屏幕上。DirectFB 作為抽象層可以直接訪問FrameBuffer,對它進行顯卡工作模式(分辨率,顏色深度,時序),映射顯存等設置,并在其上直接輸出圖形。這種在內核級實現圖形的方案加快了顯示速度,節省了系統資源,從而提高效率。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論