<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > DeltaOS 3.0 -簡(jiǎn)介(5)

          DeltaOS 3.0 -簡(jiǎn)介(5)

          ——
          作者: 時(shí)間:2007-03-01 來源:科銀京成 收藏

          DeltaOS的圖形用戶接口(DeltaGUI)是一個(gè)支持中文的圖形界面系統(tǒng),它為構(gòu)建圖形用戶界面提供了各種類似Windows風(fēng)格的圖形控件。圖形用戶接口支持DeltaOS/VxWorks/Linux等多種,通過使用圖形用戶接口,開發(fā)人員可以在嵌入式電子設(shè)備(如工控機(jī),PDA,STB等)上制作出臺(tái)式機(jī)一樣的圖形界面效果。

          圖:圖形用戶接口體系結(jié)構(gòu)

          為什么選擇圖形用戶接口?

          帶有顯示器的嵌入式設(shè)備隨處可見,有的采用小型液晶顯示器,有的采用大尺寸的光柵顯示器,有的要求高分辨率,有的則要把顏色數(shù)作為硬指標(biāo)。不同的應(yīng)用也有著不同的需求,有些應(yīng)用要求能夠在屏幕上高效的繪制出各種比例的矢量圖,需要的是豐富的圖形繪制功能,而另一些則要求編寫出復(fù)雜華麗的界面,需要的是多種多樣的窗口控件。由于應(yīng)用需求的側(cè)重點(diǎn)各不相同,為了滿足各種嵌入式應(yīng)用的需求,一套完整的圖形界面系統(tǒng)需要對(duì)每一種功能都有全面的支持,這就導(dǎo)致了界面系統(tǒng)體積較大且使用復(fù)雜。

          遺憾的是,與傳統(tǒng)的臺(tái)式機(jī)(PC機(jī))不同,在嵌入式領(lǐng)域同時(shí)滿足那么多需求往往需要付出很高的代價(jià)。主要原因有三個(gè):

          • 嵌入式設(shè)備資源受限,不可能具有傳統(tǒng)臺(tái)式機(jī)那樣的硬件條件來支持復(fù)雜的圖形界面系統(tǒng)。
          • 硬件技術(shù)飛速發(fā)展,產(chǎn)品豐富多樣,對(duì)不同的硬件平臺(tái)需要開發(fā)不同的圖形界面。即使使用同一套應(yīng)用界面,移植到不同硬件平臺(tái)上也需要付出很大的代價(jià)。
          • 開發(fā)經(jīng)驗(yàn)問題,大部分的程序員熟悉Windows或者X-Window圖形開發(fā)環(huán)境,熟悉一套全新的開發(fā)環(huán)境需要花費(fèi)大量的時(shí)間和精力。

          科銀京成推出的圖形用戶接口具有可裁剪、平臺(tái)無關(guān)性、類Windows風(fēng)格等特點(diǎn),解決了上述三個(gè)問題,從而降低了開發(fā)人員的開發(fā)代價(jià)。圖形用戶接口是進(jìn)行嵌入式圖形界面開發(fā)的良好選擇。

          增強(qiáng)和改進(jìn)

          新版本的圖形用戶接口具備如下特點(diǎn):

          • 支持多任務(wù)

          在嵌入式的應(yīng)用環(huán)境中,往往對(duì)程序的實(shí)時(shí)性要求較高,要求在指定的響應(yīng)時(shí)間之內(nèi)完成相應(yīng)的任務(wù)。嵌入式GUI同樣也面臨著這樣的要求,即要求GUI能夠比較及時(shí)的反映狀態(tài)的變化(尤其是在一些實(shí)時(shí)監(jiān)控領(lǐng)域)。傳統(tǒng)的GUI采用單線程,GUI核心和用戶的應(yīng)用程序都在一個(gè)線程執(zhí)行,故所有的程序代碼都是順序執(zhí)行,一旦程序中出現(xiàn)某個(gè)比較耗時(shí)的操作,則直接導(dǎo)致整個(gè)系統(tǒng)響應(yīng)遲緩。

          上述問題雖然可以靠MVC模式來解決(例如:可以將和顯示無關(guān)的操作放入其他線程來執(zhí)行),但是,采用這種編程方法對(duì)應(yīng)用編寫者的編程能力有相當(dāng)高的要求。GUI系統(tǒng)應(yīng)該提供一種方便的機(jī)制來解決上述問題。傳統(tǒng)GUI無法解決這些問題,因此提出多任務(wù)GUI來實(shí)現(xiàn)以上功能。將應(yīng)用放入不同的線程,則無論其中一個(gè)多么繁忙,都不會(huì)影響到別的應(yīng)用的執(zhí)行。并且對(duì)應(yīng)用編寫者的要求不高,使得他們可以把更多的精力放在業(yè)務(wù)邏輯的實(shí)現(xiàn)方面。

          • 支持克隆、獨(dú)立、擴(kuò)展三種多屏顯示模式。給用戶在顯示設(shè)備的數(shù)量和擴(kuò)展上提供更多的選擇。

          什么是克隆多屏顯示模式?

          克隆多屏顯示模式是指在多臺(tái)顯示設(shè)備上顯示同樣的內(nèi)容。這一技術(shù)在體育場(chǎng)館中有著廣泛的應(yīng)用。下圖就展示了DeltaOS的圖形用戶接口對(duì)克隆多屏顯示的支持:

          什么是獨(dú)立多屏顯示模式?

          在同一顯示設(shè)備上可以劃分多個(gè)獨(dú)立子屏,各個(gè)子屏之間是相互獨(dú)立沒有聯(lián)系的。下圖展示了圖形用戶接口對(duì)

          什么是擴(kuò)展多屏顯示模式?

          多屏擴(kuò)展模式是指單個(gè)Windows顯示桌面設(shè)置為超寬分辨率,然后橫跨多臺(tái)顯示設(shè)備顯示。這里講的“擴(kuò)展”并不是將圖形或象素拉伸變形,相反,每個(gè)象素都與普通顯示狀態(tài)一樣精細(xì)。

          特性

          • 可裁剪,開銷小

          圖形用戶接口以C++類庫(kù)的形式提供,只有在應(yīng)用程序中用到的組件才會(huì)被鏈接入最后的二進(jìn)制代碼中,根據(jù)應(yīng)用的不同,對(duì)資源的使用一般從200k到 600k不等。例如,如果使用了所有的圖形組件和國(guó)標(biāo)一、二級(jí)點(diǎn)陣字庫(kù)(11x11大?。瑒t占用350K左右的資源。如此小的開銷,非常適合需要中文的嵌入式圖形界面。

          • 優(yōu)越的體系結(jié)構(gòu)

          圖形用戶接口具有平臺(tái)無關(guān)性,它提供了一個(gè)硬件抽象層,使圖形用戶接口與具體硬件相隔離,無需直接和硬件交涉就能輕易掛接到各種輸入、輸出設(shè)備上。硬件抽象層以易于理解的面向?qū)ο笮问教峁┙o驅(qū)動(dòng)開發(fā)人員,開發(fā)人員根據(jù)芯片的編程資料,可以方便地將圖形用戶接口移植到任何帶有輸入輸出設(shè)備的平臺(tái)。目前,圖形用戶接口已經(jīng)移植到如下設(shè)備上: VGA標(biāo)準(zhǔn)、VESA1.2/2.0/3.0標(biāo)準(zhǔn)的視頻圖形適配器、LCD平板顯示器以及打印機(jī)等。支持的輸入設(shè)備有:標(biāo)準(zhǔn)的串口鼠標(biāo)、PS/2鼠標(biāo)、XT/AT鍵盤以及觸摸屏等。

          • 易于使用

          在概念、原理和風(fēng)格上,圖形用戶接口采用了與Win32類似的多窗口以及消息驅(qū)動(dòng)機(jī)制,窗口類和各種控件的使用方法也與Win32相近。因此,熟悉Windows編程風(fēng)格的開發(fā)人員無需花費(fèi)太多時(shí)間,即可很快掌握?qǐng)D形用戶接口的編程方法。

          • 提供典型的硬件驅(qū)動(dòng)

          圖形用戶接口提供了多種輸出設(shè)備的驅(qū)動(dòng)程序,支持各種規(guī)格的LCD、VGA、VESA的顯示。圖形用戶接口提供的輸入設(shè)備驅(qū)動(dòng)包括串口鼠標(biāo)、PS/2鼠標(biāo)、XT/AT鍵盤、矩陣鍵盤、觸摸屏等的驅(qū)動(dòng)程序。

          • 各種分辨率和顯示模式的支持

          根據(jù)應(yīng)用的需求,圖形用戶接口能夠分別提供支持單色、4色、16色、256色、16位色、24位色以及32位色等顯示模式的類庫(kù)。同時(shí),圖形用戶接口還支持各種大小的分辨率,滿足應(yīng)用的不同需要。

          • 出色的中文支持

          圖形用戶接口支持雙字節(jié)字符集的輸入及顯示,能夠顯示各種大小的中文(GB2312)點(diǎn)陣字庫(kù),并配備了全拼、詞組兩種輸入法。如果應(yīng)用有別的需求,開發(fā)人員也可以外掛自己的輸入法及字體。圖形用戶接口 提供了點(diǎn)陣字庫(kù)轉(zhuǎn)換工具,能夠轉(zhuǎn)換出各種大小的點(diǎn)陣字庫(kù),同時(shí),為了節(jié)約存儲(chǔ)空間,該工具帶有自定義小字庫(kù)的功能,能夠只生成自己需要的漢字點(diǎn)陣數(shù)據(jù)。

          • 仿真開發(fā)環(huán)境

          圖形用戶接口提供了仿真開發(fā)環(huán)境,可脫離目標(biāo)機(jī)環(huán)境編程和運(yùn)行。所謂仿真開發(fā),實(shí)際就是讓圖形用戶接口的應(yīng)用程序在Windows平臺(tái)上運(yùn)行。開發(fā)人員可直接使用Windows上提供的Microsoft Visual C++工具來編譯和調(diào)試自己的應(yīng)用程序,以加快代碼編寫和調(diào)試的速度。在仿真開發(fā)環(huán)境下編寫的應(yīng)用程序代碼,幾乎不用任何改動(dòng),只要加上目標(biāo)機(jī)硬件驅(qū)動(dòng)程序,編譯后即可直接放到目標(biāo)機(jī)上運(yùn)行。

          • 良好的服務(wù)

          科銀京成的開發(fā)團(tuán)隊(duì)在觸摸屏驅(qū)動(dòng)、鼠標(biāo)驅(qū)動(dòng)(包含硬件鼠標(biāo))、視頻硬件加速、漢字輸入、手寫體識(shí)別、圖形縮放(包括軟硬件縮放)、圖形平滑滾動(dòng)等技術(shù)方面積累了大量的經(jīng)驗(yàn),能夠結(jié)合嵌入式設(shè)備的具體硬件情況,提供全面的技術(shù)支持,指導(dǎo)應(yīng)用開發(fā)者更高效地設(shè)計(jì)圖形用戶界面。

          基本規(guī)格

          • 基本元素
          • 圖形用戶接口 提供外觀類似 Windows 的圖形接口基本元素,包括:
          • 窗口
          • 對(duì)話框
          • 菜單
          • 按鈕 ( 命令按鈕、單選框、復(fù)選框 )
          • 文本框
          • 滾動(dòng)條
          • 進(jìn)度條
          • 提供類似 Windows 的消息處理機(jī)制,最多可同時(shí)存放 40 條消息。
          • 支持常見圖形文件格式為 BMP ( Windows )、 GIF (87a、89a)、 JPG ( 1.x )。
          • 完整的中文支持,提供國(guó)標(biāo)一二級(jí)字庫(kù)和全拼、詞組兩種中文輸入法,字庫(kù)和輸入法均可由用戶根據(jù)需求自行擴(kuò)展。
          • 資源占用情況
            • 內(nèi)存(堆)

          圖形用戶接口應(yīng)用程序在運(yùn)行時(shí)需要?jiǎng)討B(tài)分配的內(nèi)存主要包括:

          • 顯示驅(qū)動(dòng)程序所分配的脫屏( Off-Screen)顯示緩沖區(qū)。
          • 一般由圖形模式分辨率和顏色深度決定。例如, 640 x 480 x 256色顯示模式下,一個(gè)像素占用一個(gè)(8位)字節(jié),則所需的脫屏顯示緩沖區(qū)大小為640 x 480=307200字節(jié),即大約300K字節(jié)。
          • 各種動(dòng)態(tài)創(chuàng)建的 GUI對(duì)象(消息、控件、窗口等)自身所占用的內(nèi)存。
          • 視各種對(duì)象自身復(fù)雜程度而定,每個(gè)對(duì)象占用的內(nèi)存從數(shù)十字節(jié)到數(shù) K字節(jié)不等。
          • 各種動(dòng)態(tài)創(chuàng)建的數(shù)據(jù)對(duì)象所占用的內(nèi)存。

          如編輯框所分配的文本緩沖區(qū)、圖形處理類所分配的位圖對(duì)象等,這類對(duì)象占用的內(nèi)存由用戶需求而定。例如,如果用戶需要在內(nèi)存中處理一幅 1024 x 768 x 65536色的位圖,就需要約1.5M字節(jié)的內(nèi)存。

          圖形用戶接口 只在棧上創(chuàng)建少量局部變量(含簡(jiǎn)單數(shù)據(jù)對(duì)象),參數(shù)傳遞時(shí)也只使用指針來傳遞 GUI 對(duì)象。因此一般情況下 圖形用戶接口 僅占用不到 1K 字節(jié)的??臻g。

          • 裁減情況

          圖形用戶接口 以 C++ 類庫(kù)的形式提供,只有在應(yīng)用程序中用到的組件才會(huì)被鏈接入最后的二進(jìn)制代碼中,因此,組件的裁剪是自動(dòng)完成的,無需用戶干涉。

          典型裁剪情況如下表所示(其中字庫(kù)指 11x11 的點(diǎn)陣字庫(kù)):

          組件使用情況

          代碼段大小

          數(shù)據(jù)段大小

          共計(jì)

          所有圖形組件
          國(guó)標(biāo)一、二級(jí)字庫(kù)
          全拼中文輸入法及碼表

          約 220K 字節(jié)

          約 300K 字節(jié)

          約 520K 字節(jié)

          所有圖形組件
          國(guó)標(biāo)一、二級(jí)字庫(kù)

          約 200K 字節(jié)

          約 160K 字節(jié)

          約 360K 字節(jié)

           

          典型性能指標(biāo)

          測(cè)試環(huán)境:

          賽揚(yáng)800M處理器

          內(nèi)存256M

          8位GUI組件庫(kù)

          測(cè)試內(nèi)容

          測(cè)試結(jié)果(ms/個(gè))

          創(chuàng)建窗口

          (寬:500,高:300,帶標(biāo)題欄狀態(tài)欄裝飾窗口)

          14.617

          銷毀窗口

          (寬:500,高:300,帶標(biāo)題欄狀態(tài)欄裝飾窗口)

          33.31

          畫點(diǎn)

          49.767

          畫對(duì)角線(1024



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();