我們這些記得DOS和其他命令界面的人欣賞圖形用戶界面(GUI)的發明:圖形控件和顯示使我們更加高效和富有成效,因為它們直觀,幾乎不需要學習。GUI 讓生活更輕松,無論是編寫代碼還是玩游戲。
為什么?俗話說,一張圖片勝過千言萬語。但在操作控制方面,它實際上更有價值。快速讀者可以以每分鐘大約 200 字(或大約 900 字節)的速度校對材料。出于同樣的原因,視頻游戲玩家以每秒 60 幀的速度在 1920 x 1080 像素的屏幕上操縱圖像,每分鐘可以理解大約 22 GB。因此,通過圖形信息與文本信息移動控件的勝利超過 2200 萬倍。
人們幾乎可以瞬間吸收大量的感官數據。想想汽車在夜間進出高速交通,這種情況每天都在發生,事故相對較少。但是,如果你蒙住這些司機的眼睛,給他們口頭命令,告訴他們什么時候該下地板,什么時候踩剎車,什么時候轉彎,那將是一個災難場景。
可視化面臨的挑戰
如果流程中的每個步驟都可以直觀地而不是文本地進行驗證和測試,那么編寫代碼就會容易得多。如果您知道數據在程序中某些點的外觀,但可視化指示相反,則可以在問題成倍增加之前停止并修復問題。借助 GUI,可以在編碼時對算法進行檢測、仿真和演示,從而縮短調試時間。然而,盡管市場上有許多GUI套件,但GUI在嵌入式世界中并不是必不可少的。
程序員可能看不到GUI的成本/收益,因為嵌入式軟件(如導彈跟蹤系統或雷達處理應用程序)可能不需要圖形支持。例如,目標處理器甚至可能沒有圖形芯片。此外,GUI 會耗盡處理器周期并造成瓶頸,這兩者都是絕對不可接受的。此外,GUI 通常涉及大量代碼,并且工具包可能需要廣泛的學習曲線,因為程序員熟悉數百甚至數千個應用程序接口 (API)。
更重要的是,傳統的GUI(從非確定性世界中出現)很難適應嵌入式處理的需求。首先,GUI軟件通常用于事件驅動的編程模型,其中許多編程循環在后臺“休眠”,直到由鼠標單擊或按鍵等操作觸發。根據用戶輸入,組件的執行順序將不可預測地變化。這種多功能性非常適合文字處理等功能。相比之下,需要高度可預測性能的實時嵌入式處理應用程序通常依賴于順序編程模型,其中程序中的每個步驟都是預先確定的,并根據嚴格的時間表執行。
嵌入式軟件的開發人員一直不愿意開發GUI,因為傳統的GUI會增加開發和維護成本,消耗周期,并且似乎沒有必要。
如果?
如果嵌入式軟件世界可以在不產生成本的情況下獲得 GUI 的好處,那會怎樣?對于初學者來說,這將需要易于使用的GUI開發工具包,可以快速創建簡潔的界面。GUI 還需要與目標代碼分離,以便可以根據需要遠程運行可視化。
由于這些 GUI 將比非嵌入式世界中的系統更小、更簡單——不需要下拉菜單或彈出對話框——這些套件將涉及更少的 API。GUI將專注于輸入和可視化數據的基本必要性。應用程序開銷將限制為在必要時通過通常內置于現代板中的TCP連接發送和接收數據。
如果 GUI 可以快速設置并允許開發人員最大限度地減少編碼和調試時間,那么這將是一個成功的方案。
審核編輯:郭婷
-
嵌入式
+關注
關注
5069文章
19023瀏覽量
303454 -
GUI
+關注
關注
3文章
650瀏覽量
39551
發布評論請先 登錄
相關推薦
評論