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