新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 一種基于嵌入式Linux圖形用戶接口的實現

        一種基于嵌入式Linux圖形用戶接口的實現

        作者: 時間:2010-02-03 來源:網絡 收藏

        2.1.3 GtkFB的工作原理

          DirectFB訪問硬件設備依賴于操作系統提供的內核,即幀緩沖設備(FrameBuffer)。FrameBuffer實際上是用一塊硬件來做顯卡和軟件之間的橋梁,的內核將其開放出來,使的程序可以通過塊內存來存取顯卡。例如設定顯示分辨率和色彩數、存取顯示內存區等。不同的需要提供針對不同顯示硬件FrameBuffer的驅動程序,這就是說DirectFB需要運行于FramBuffer之上,然而內核提供了常見芯片的FrameBuffer驅動。

          當一個應用程序連接到GtkFB時會調用gtk_init(),如圖3所示,此時GtkFB 啟動Linux的Framebiffer,設定分辨率和色彩數,接下來打開鍵盤和鼠標等外設(PDA打開按鍵和觸控屏幕).然后到特定目錄去讀取字型,最后對窗口和事件管理作初始化操作。GtkFB可以支持8、16、24、32bpp的framebuffer。

        Gtk通過DirectFB訪問FrameBufer設備和圖形設備

          為了執行一個特定的操作,DirectFB芯片驅動程序將訪問設備內存映射的I/O端口,并且把命令傳遞到圖形設備卡的加速引擎。實際的硬件加速是完全在空間內完成的。

          2.2 SWT+GtkFB圖形系統的優點

          2.2.1 內存消耗小、運行速度快特別適合產品

          由于GtkFB直接運行在FrameBufer之上,跳過X系統,這樣省下了X Server這一部分資源,這使得在內存消耗、運行速度上得到顯著提高。另外采用的JNI技術使得程序運行速度、事件的響應有較高的提高,能滿足時間要求較為嚴格的實時應用場合。

          2.2.2 系統穩定性好

          SWT 的穩定性,關鍵是源于SWT 的設計理念。SWT最大化了操作系統的圖形構件API,就是說只要操作系統提供了相應圖形的構件,那么SWT只是應用JNI技術調用它們,只有那些操作系統中不提供的構件,SWT才自己去做一個模擬的。可以看出SWT性能上的穩定很大程度上取決于相應操作系統圖形構件的穩定性。

          2.2.3 易于移植和共享

          SWT的API和桌面版完全相同,因而代碼可以很容易地在桌面和設備之間移植與共享。

          2.2.4 小巧可配置

          SWT采用了LGPL授權方式,可以自由地甚至是鼓勵修改源代碼使其更加滿足用戶的需求,很容易根據用戶的需求來裁減特定的SWT+GtkFB,依據LGPL許可證,用戶需要公布修改的源代碼,但用戶不必公布自給應用程序的源代碼。

          2.2.5 易于開發

          SWT是Java語言開發的,具有平臺獨立性、面向對象、可移植、安全等Java語言所擁有特點。用戶可以很容易的SWT提供的Widget(構件)開發出滿足自己需要的Widget,而且很容易地使用這些Widget去構建應用程序。

          3 SWT+GtkFB圖形系統的

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 湖南省| 旌德县| 呼玛县| 长葛市| 延津县| 右玉县| 会昌县| 蒙自县| 凤翔县| 同心县| 永寿县| 儋州市| 镇平县| 胶州市| 启东市| 阿巴嘎旗| 乐亭县| 曲松县| 泰顺县| 西吉县| 湖州市| 澄城县| 泊头市| 揭西县| 南投县| 嵊泗县| 新泰市| 昭苏县| 阿拉善右旗| 清河县| 民县| 北碚区| 温宿县| 台南市| 青河县| 饶阳县| 玉树县| 东乡族自治县| 新巴尔虎左旗| 抚顺市| 收藏|