圖形用戶界面(GUI)選項(xiàng) 從用戶的觀點(diǎn)來(lái)看,圖形用戶界面(GUI)是系統(tǒng)的一個(gè)最至關(guān)重要的方面:用戶通過(guò) GUI 與系統(tǒng)進(jìn)行交互。所以 GUI 應(yīng)該易于使用并且非?煽。但它還需要是有內(nèi)存意識(shí)的,以便在內(nèi)存受限的、微型嵌入式設(shè)備上可以無(wú)縫執(zhí)行。所以,它應(yīng)該是輕量級(jí)的,并且能夠快速裝入。
另一個(gè)要考慮的重要方面涉及許可證問(wèn)題。一些 GUI 分發(fā)版具有允許免費(fèi)使用的許可證,甚至在一些商業(yè)產(chǎn)品中也是如此。另一些許可證要求如果想將 GUI 合并入項(xiàng)目中則要支付版稅。
最后,大多數(shù)開(kāi)發(fā)人員可能會(huì)選擇 XFree86,因?yàn)?nbsp;XFree86 為他們提供了一個(gè)能使用他們喜歡的工具的熟悉環(huán)境。但是市場(chǎng)上較新的 GUI,象 Century Software 的 Microwindows(Nano-X)和 Trolltech 的 QT/Embedded,與 X 在嵌入式 Linux 的競(jìng)技舞臺(tái)中展開(kāi)了激烈競(jìng)爭(zhēng),這主要是因?yàn)樗鼈冋加煤苌俚馁Y源、執(zhí)行的速度很快并且具有定制窗口構(gòu)件的支持。
讓我們看一看這些選項(xiàng)中的每一個(gè)。
Xfree86 4.X(帶幀緩沖區(qū)支持的 X11R6.4) XFree86 Project, Inc. 是一家生產(chǎn) XFree86 的公司,該產(chǎn)品是一個(gè)可以免費(fèi)重復(fù)分發(fā)、開(kāi)放源碼的 X Window 系統(tǒng)。X Window 系統(tǒng)(X11)為應(yīng)用程序以圖形方式進(jìn)行顯示提供了資源,并且它是 UNIX 和類 UNIX 的機(jī)器上最常用的窗口系統(tǒng)。它很小但很有效,它運(yùn)行在為數(shù)眾多的硬件上,它對(duì)網(wǎng)絡(luò)透明并且有良好的文檔說(shuō)明。X11 為窗口管理、事件處理、同步和客戶機(jī)間通信提供強(qiáng)大的功能 — 并且大多數(shù)開(kāi)發(fā)人員已經(jīng)熟悉了它的 API。它具有對(duì)內(nèi)核幀緩沖區(qū)的內(nèi)置支持,并占用非常少的資源 — 這非常有助于內(nèi)存相對(duì)較少的設(shè)備。X 服務(wù)器支持 VGA 和非 VGA 圖形卡,它對(duì)顏色深度 1、2、4、8、16 和 32 提供支持,并對(duì)渲染提供內(nèi)置支持。最新的發(fā)行版是 XFree86 4.1.0。
它的優(yōu)點(diǎn)包括:
幀緩沖區(qū)體系結(jié)構(gòu)的使用提高了性能。 占用的資源相對(duì)很小 — 大小在 600 K 到 700 K 字節(jié)的范圍內(nèi),這使它很容易在小型設(shè)備上運(yùn)行。 非常好的支持:在線有許多文檔可用,還有許多專用于 XFree86 開(kāi)發(fā)的郵遞列表。 X API 非常適合擴(kuò)展。
它的缺點(diǎn)包括:
比最近出現(xiàn)的嵌入式 GUI 工具性能差。 此外,當(dāng)與 GUI 中最新的開(kāi)發(fā) — 象專門(mén)為嵌入式環(huán)境設(shè)計(jì)的 Nano-X 或 QT/Embedded — 相比時(shí),XFree86 似乎需要更多的內(nèi)存。
Microwindows Microwindows 是 Century Software 的開(kāi)放源代碼項(xiàng)目,設(shè)計(jì)用于帶小型顯示單元的微型設(shè)備。它有許多針對(duì)現(xiàn)代圖形視窗環(huán)境的功能部件。象 X 一樣,有多種平臺(tái)支持 Microwindows。
Microwindows 體系結(jié)構(gòu)是基于客戶機(jī)/服務(wù)器的并且具有分層設(shè)計(jì)。最底層是屏幕和輸入設(shè)備驅(qū)動(dòng)程序(關(guān)于鍵盤(pán)或鼠標(biāo))來(lái)與實(shí)際硬件交互。在中間層,可移植的圖形引擎提供對(duì)線的繪制、區(qū)域的填充、多邊形、裁剪以及顏色模型的支持。
在最上層,Microwindows 支持兩種 API:Win32/WinCE API 實(shí)現(xiàn),稱為 Microwindows;另一種 API 與 GDK 非常相似,它稱為 Nano-X。Nano-X 用在 Linux 上。它是象 X 的 API,用于占用資源少的應(yīng)用程序。
Microwindows 支持 1、2、4 和 8 bpp(每像素的位數(shù))的 palletized 顯示,以及 8、16、24 和 32 bpp 的真彩色顯示。Microwindows 還支持使它速度更快的幀緩沖區(qū)。Nano-X 服務(wù)器占用的資源大約在 100 K 到 150 K 字節(jié)。
原始 Nano-X 應(yīng)用程序的平均大小在 30 K 到 60 K。由于 Nano-X 是為有內(nèi)存限制的低端設(shè)備設(shè)計(jì)的,所以它不象 X 那樣支持很多函數(shù),因此它實(shí)際上不能作為微型 X(Xfree86 4.1)的替代品。
可以在 Microwindows 上運(yùn)行 FLNX,它是針對(duì) Nano-X 而不是 X 進(jìn)行修改的 FLTK(快速輕巧工具箱(Fast Light Toolkit))應(yīng)用程序開(kāi)發(fā)環(huán)境的一個(gè)版本。本文中描述 FLTK。
Nano-X 的優(yōu)點(diǎn)包括:
與 Xlib 實(shí)現(xiàn)不同,Nano-X&n |