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