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