0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

面向GUI的代碼和游戲

星星科技指導(dǎo)員 ? 來源:嵌入式計(jì)算設(shè)計(jì) ? 作者:CHARLOTTE ADAMS ? 2022-11-11 14:49 ? 次閱讀

我們這些記得DOS和其他命令界面的人欣賞圖形用戶界面(GUI)的發(fā)明:圖形控件和顯示使我們更加高效和富有成效,因?yàn)樗鼈冎庇^,幾乎不需要學(xué)習(xí)。GUI 讓生活更輕松,無論是編寫代碼還是玩游戲。

為什么?俗話說,一張圖片勝過千言萬語。但在操作控制方面,它實(shí)際上更有價(jià)值。快速讀者可以以每分鐘大約 200 字(或大約 900 字節(jié))的速度校對(duì)材料。出于同樣的原因,視頻游戲玩家以每秒 60 幀的速度在 1920 x 1080 像素的屏幕上操縱圖像,每分鐘可以理解大約 22 GB。因此,通過圖形信息與文本信息移動(dòng)控件的勝利超過 2200 萬倍。

人們幾乎可以瞬間吸收大量的感官數(shù)據(jù)。想想汽車在夜間進(jìn)出高速交通,這種情況每天都在發(fā)生,事故相對(duì)較少。但是,如果你蒙住這些司機(jī)的眼睛,給他們口頭命令,告訴他們什么時(shí)候該下地板,什么時(shí)候踩剎車,什么時(shí)候轉(zhuǎn)彎,那將是一個(gè)災(zāi)難場(chǎng)景。

可視化面臨的挑戰(zhàn)

如果流程中的每個(gè)步驟都可以直觀地而不是文本地進(jìn)行驗(yàn)證和測(cè)試,那么編寫代碼就會(huì)容易得多。如果您知道數(shù)據(jù)在程序中某些點(diǎn)的外觀,但可視化指示相反,則可以在問題成倍增加之前停止并修復(fù)問題。借助 GUI,可以在編碼時(shí)對(duì)算法進(jìn)行檢測(cè)、仿真和演示,從而縮短調(diào)試時(shí)間。然而,盡管市場(chǎng)上有許多GUI套件,但GUI在嵌入式世界中并不是必不可少的。

程序員可能看不到GUI的成本/收益,因?yàn)?a target="_blank">嵌入式軟件(如導(dǎo)彈跟蹤系統(tǒng)或雷達(dá)處理應(yīng)用程序)可能不需要圖形支持。例如,目標(biāo)處理器甚至可能沒有圖形芯片。此外,GUI 會(huì)耗盡處理器周期并造成瓶頸,這兩者都是絕對(duì)不可接受的。此外,GUI 通常涉及大量代碼,并且工具包可能需要廣泛的學(xué)習(xí)曲線,因?yàn)槌绦騿T熟悉數(shù)百甚至數(shù)千個(gè)應(yīng)用程序接口 (API)。

更重要的是,傳統(tǒng)的GUI(從非確定性世界中出現(xiàn))很難適應(yīng)嵌入式處理的需求。首先,GUI軟件通常用于事件驅(qū)動(dòng)的編程模型,其中許多編程循環(huán)在后臺(tái)“休眠”,直到由鼠標(biāo)單擊或按鍵等操作觸發(fā)。根據(jù)用戶輸入,組件的執(zhí)行順序?qū)⒉豢深A(yù)測(cè)地變化。這種多功能性非常適合文字處理等功能。相比之下,需要高度可預(yù)測(cè)性能的實(shí)時(shí)嵌入式處理應(yīng)用程序通常依賴于順序編程模型,其中程序中的每個(gè)步驟都是預(yù)先確定的,并根據(jù)嚴(yán)格的時(shí)間表執(zhí)行。

嵌入式軟件的開發(fā)人員一直不愿意開發(fā)GUI,因?yàn)閭鹘y(tǒng)的GUI會(huì)增加開發(fā)和維護(hù)成本,消耗周期,并且似乎沒有必要。

如果?

如果嵌入式軟件世界可以在不產(chǎn)生成本的情況下獲得 GUI 的好處,那會(huì)怎樣?對(duì)于初學(xué)者來說,這將需要易于使用的GUI開發(fā)工具包,可以快速創(chuàng)建簡(jiǎn)潔的界面。GUI 還需要與目標(biāo)代碼分離,以便可以根據(jù)需要遠(yuǎn)程運(yùn)行可視化。

由于這些 GUI 將比非嵌入式世界中的系統(tǒng)更小、更簡(jiǎn)單——不需要下拉菜單或彈出對(duì)話框——這些套件將涉及更少的 API。GUI將專注于輸入和可視化數(shù)據(jù)的基本必要性。應(yīng)用程序開銷將限制為在必要時(shí)通過通常內(nèi)置于現(xiàn)代板中的TCP連接發(fā)送和接收數(shù)據(jù)。

如果 GUI 可以快速設(shè)置并允許開發(fā)人員最大限度地減少編碼和調(diào)試時(shí)間,那么這將是一個(gè)成功的方案。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5052

    文章

    18912

    瀏覽量

    300813
  • GUI
    GUI
    +關(guān)注

    關(guān)注

    3

    文章

    632

    瀏覽量

    39440
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    七大嵌入式GUI盤點(diǎn)

    LCD設(shè)計(jì)提供高級(jí)支持,極大簡(jiǎn)化了LCD設(shè)計(jì)。它是使用比較廣泛的一款GUI,配合GUI Builder或App Wizard上位機(jī)軟件,用起來也比較方便。emWin以C語言源代碼提供,使其成為嵌入式
    發(fā)表于 09-02 10:58

    樹莓派gui開發(fā)用什么ide

    樹莓派(Raspberry Pi)是一款功能強(qiáng)大的微型計(jì)算機(jī),可以運(yùn)行多種操作系統(tǒng),如Raspbian、Ubuntu等。在樹莓派上進(jìn)行GUI(圖形用戶界面)開發(fā),可以使用多種集成開發(fā)環(huán)境(IDE
    的頭像 發(fā)表于 08-30 16:49 ?500次閱讀

    MATLAB GUI的暫停執(zhí)行與繼續(xù)執(zhí)行問題

    最開始的1計(jì)數(shù)。在MATLAB調(diào)試界面我用pause與F10配合能實(shí)現(xiàn),但是在編譯好的單獨(dú)的GUI界面,按F10卻沒有反應(yīng)。uiresume和uiwait不會(huì)用。請(qǐng)大神給寫一段能運(yùn)行的簡(jiǎn)單代碼,謝謝
    發(fā)表于 06-21 12:34

    求助,為什么要區(qū)分gui和resource的rest api列表?

    我之前從來沒有在esp32上實(shí)現(xiàn)web服務(wù)器,所以這個(gè)問題可能有點(diǎn)低級(jí)。 我在review esp-thread-br的web server實(shí)現(xiàn)的時(shí)候,看到代碼里區(qū)分了用于gui響應(yīng)和前端
    發(fā)表于 06-11 07:22

    Infinix面向全球發(fā)布了其首款雙芯游戲旗艦—Infinix GT 20 Pro

    近日,Infinix面向全球發(fā)布了其首款雙芯游戲旗艦——Infinix GT 20 Pro。作為GT 10 Pro的繼任者,Infinix GT 20 Pro在保持標(biāo)志性的“賽博-機(jī)甲”設(shè)計(jì)風(fēng)格的同時(shí),升級(jí)為雙芯,并在游戲體驗(yàn)方
    的頭像 發(fā)表于 05-06 11:24 ?897次閱讀
    Infinix<b class='flag-5'>面向</b>全球發(fā)布了其首款雙芯<b class='flag-5'>游戲</b>旗艦—Infinix GT 20 Pro

    STM32CubeMx使用GUI_DrawGradientH GUI_DrawGradientV繪制一直顯示黑色,是哪里出錯(cuò)?

    使用STM32CubeMx配置 LTDC + DMA2D + FMC + GRAPHICS STemWin(開啟CRC),直接使用STM32CubeMx生成代碼,未進(jìn)行手動(dòng)修改。 問題: 1
    發(fā)表于 04-26 06:38

    分享幾個(gè)嵌入式中常用的GUI

    一、什么是GUI?GUI是圖形用戶界面(GraphicalUserInterface,簡(jiǎn)稱GUI,又稱圖形用戶接口)是指采用圖形方式顯示的計(jì)算機(jī)操作用戶界面。通過GUI框架,用戶可直接
    的頭像 發(fā)表于 04-06 08:09 ?1275次閱讀
    分享幾個(gè)嵌入式中常用的<b class='flag-5'>GUI</b>

    GUI Guider新版本發(fā)布,嵌入式GUI開發(fā)體驗(yàn)升級(jí)

    作為恩智浦著力打造的一款嵌入式人機(jī)交互應(yīng)用開發(fā)工具,GUI Guider又迎來了一個(gè)新版本!最新發(fā)布的GUI Guider v1.7.1增加了視頻轉(zhuǎn)換功能,可以幫助用戶靈活地轉(zhuǎn)換原視頻,包括長(zhǎng)度裁剪
    發(fā)表于 03-29 09:47 ?1446次閱讀
    <b class='flag-5'>GUI</b> Guider新版本發(fā)布,嵌入式<b class='flag-5'>GUI</b>開發(fā)體驗(yàn)升級(jí)

    芯原攜手趣戴科技擴(kuò)展手表GUI生態(tài)系統(tǒng)

    2024年1月9日,美國(guó)拉斯維加斯——芯原股份 (芯原,股票代碼:688521.SH) 今日宣布專注于提供圖形用戶界面 (GUI) 軟件服務(wù)的趣戴科技 (QDay Technology) 已加入其手表GUI生態(tài)系統(tǒng),共同開發(fā)適用
    的頭像 發(fā)表于 01-10 09:06 ?640次閱讀

    『嵌入式GUI特訓(xùn)營(yíng)』開營(yíng)啦!是學(xué)霸就有獎(jiǎng)拿,快來挑戰(zhàn)一下!

    “同是嵌入式GUI設(shè)計(jì) 為什么別人做起來 輕松、快捷,很炫酷 而我的設(shè)計(jì)卻 費(fèi)力、耗時(shí),有點(diǎn)low…“ 不要焦慮! 加入恩智浦 “ 嵌入式GUI特訓(xùn)營(yíng) ” 讓你的GUI技能分分鐘與高手比肩
    的頭像 發(fā)表于 12-01 09:15 ?385次閱讀
    『嵌入式<b class='flag-5'>GUI</b>特訓(xùn)營(yíng)』開營(yíng)啦!是學(xué)霸就有獎(jiǎng)拿,快來挑戰(zhàn)一下!

    GUI高級(jí)組件對(duì)話框代碼

    簡(jiǎn)單輸入對(duì)話框 simpledialog(簡(jiǎn)單對(duì)話框)包含如下常用函數(shù): 實(shí)操代碼 """簡(jiǎn)單對(duì)話框""" from tkinter.simpledialog import *root = Tk
    的頭像 發(fā)表于 11-26 17:05 ?837次閱讀
    <b class='flag-5'>GUI</b>高級(jí)組件對(duì)話框<b class='flag-5'>代碼</b>

    GUI中Scale移動(dòng)滑塊代碼

    Scale 移動(dòng)滑塊 Scale(移動(dòng)滑塊)用于在指定的數(shù)值區(qū)間,通過滑塊的移動(dòng)來選擇值 實(shí)操代碼 """scale 滑塊的使用測(cè)試【示例】使用 Scale(移動(dòng)滑塊)控制字體大小變化
    的頭像 發(fā)表于 11-26 16:48 ?1070次閱讀
    <b class='flag-5'>GUI</b>中Scale移動(dòng)滑塊<b class='flag-5'>代碼</b>

    python如何打開gui界面

    在Python中打開GUI界面,可以使用多種庫或框架,如Tkinter、PyQt、wxPython等。下面將詳細(xì)介紹如何使用Tkinter創(chuàng)建一個(gè)GUI界面。在寫文章時(shí),建議參考以下提綱,將文章分成
    的頭像 發(fā)表于 11-22 14:12 ?873次閱讀

    LVGL結(jié)合RT-thread快速開發(fā)出漂亮GUI的利器GUI-Guider

    GUI-Guider是一種功能強(qiáng)大的軟件,它為用戶提供了一種簡(jiǎn)單直觀的方式來創(chuàng)建和設(shè)計(jì)圖形用戶界面(GUI)。
    的頭像 發(fā)表于 11-14 12:38 ?3232次閱讀
    LVGL結(jié)合RT-thread快速開發(fā)出漂亮<b class='flag-5'>GUI</b>的利器<b class='flag-5'>GUI</b>-Guider

    STM32GUI_使用 STLINK+stm32gui-pydfb 工具來實(shí)時(shí)查看圖形緩存的圖片

    STM32GUI_使用 STLINK+stm32gui-pydfb 工具來實(shí)時(shí)查看圖形緩存的圖片
    的頭像 發(fā)表于 10-27 10:28 ?831次閱讀
    STM32<b class='flag-5'>GUI</b>_使用 STLINK+stm32<b class='flag-5'>gui</b>-pydfb 工具來實(shí)時(shí)查看圖形緩存的圖片