• 招生咨詢熱線:4008-569-579 
  • 手機(jī)版
    用手機(jī)掃描二維碼直達(dá)商品手機(jī)版
招生咨詢熱線
4008-569-579
機(jī)構(gòu)主頁(yè) > 培訓(xùn)資料 > 嵌入式開(kāi)發(fā):在工業(yè)應(yīng)用中優(yōu)化 GUI 的 5 個(gè)技巧
機(jī)構(gòu)主頁(yè) > 培訓(xùn)資料>嵌入式開(kāi)發(fā):在工業(yè)應(yīng)用中優(yōu)化 GUI 的 5 個(gè)技巧

嵌入式開(kāi)發(fā):在工業(yè)應(yīng)用中優(yōu)化 GUI 的 5 個(gè)技巧

來(lái)源:廣州達(dá)內(nèi)教育        時(shí)間:2023-05-30        熱度:39℃        返回列表

  傳統(tǒng)上,工業(yè)應(yīng)用包括模擬按鈕、開(kāi)關(guān)和撥號(hào),以與用戶進(jìn)行交互。如你所知,時(shí)代在變,工業(yè)應(yīng)用用戶現(xiàn)在需要豐富的圖形用戶界面

(GUI)。許多接口建立在嵌入式系統(tǒng)之上,這些系統(tǒng)非常強(qiáng)大,但它們?nèi)匀皇琴Y源受限的系統(tǒng)。在嵌入式開(kāi)發(fā)中,它們可能在處理能力、內(nèi)存或電池壽命方面受到資源限制。


  在今天的文章中,我們將探討一些在工業(yè)應(yīng)用中優(yōu)化 GUI 的技巧。


  技巧1:直接從 flash 中繪制圖像


  GUI 圖像通常以 PNG 格式存儲(chǔ)在閃存中。 PNG

文件格式是一種壓縮圖像格式,旨在節(jié)省空間。這聽(tīng)起來(lái)不錯(cuò),但如果圖像被壓縮,這意味著處理器需要解壓縮圖像才能將其寫(xiě)入幀緩沖區(qū)。解壓縮圖像不僅需要內(nèi)部

RAM,而且還會(huì)浪費(fèi)潛在的寶貴時(shí)鐘周期來(lái)解壓縮圖像。


  開(kāi)發(fā)人員可以利用的優(yōu)化是解壓縮他們的 PNG 并將它們以 TGA 格式存儲(chǔ)在閃存中。此格式是一種未壓縮的文件格式,支持

8、16、24 或 32 位/像素,帶有 8 位 Alpha 通道。雖然每個(gè)圖像都會(huì)比 PNG 大,但它可以直接從閃存寫(xiě)入幀緩沖區(qū),而無(wú)需浪費(fèi) CPU 周期和

RAM

進(jìn)行解壓縮。值得慶幸的是,閃存通常非常便宜,而且許多系統(tǒng)設(shè)計(jì)人員無(wú)論如何都會(huì)加大它們的尺寸,因此這種優(yōu)化不僅會(huì)提高系統(tǒng)性能,而且對(duì)系統(tǒng)成本的影響也應(yīng)該很小。


  技巧2:優(yōu)化圖像存儲(chǔ)格式


  有幾種不同的圖像格式可用于與顯示器交互,但它們的創(chuàng)建方式并不相同,并且具有各種優(yōu)點(diǎn)和缺點(diǎn)。例如,RGB888

格式為嵌入式開(kāi)發(fā)人員提供了每像素 24 位的顏色深度,這意味著每個(gè)紅色、綠色和藍(lán)色顏色控制使用 8

位。雖然這確實(shí)提供了豐富的色彩,但除了更復(fù)雜的硬件和利用要求之外,存儲(chǔ)圖像可能需要額外的存儲(chǔ)空間。


  工業(yè)應(yīng)用的一個(gè)很好的權(quán)衡是改用 RGB565 格式。 RGB565 格式為開(kāi)發(fā)人員提供了每像素 16 位的顏色深度,其中 5

位用于表示紅色,6 位用于表示綠色,5 位用于表示藍(lán)色。顯然,顏色保真度不會(huì)像 RGB888 格式那樣豐富,因?yàn)槲覀兪褂玫氖?16 位而不是 24

位表示。為了恢復(fù)由于可用位較少而丟失的一些顏色保真度,我們可以在圖像中添加抖動(dòng)。結(jié)果是一個(gè)漂亮的圖像,節(jié)省了存儲(chǔ)和計(jì)算能力。




  技巧3:仔細(xì)優(yōu)化動(dòng)畫(huà)


  一般來(lái)說(shuō),動(dòng)畫(huà)可以在修飾 GUI

方面發(fā)揮很大作用。無(wú)論是創(chuàng)建精美的閃屏還是在屏幕上顯示實(shí)時(shí)數(shù)據(jù)。動(dòng)畫(huà)的問(wèn)題在于它們通常使用大量的處理能力。在播放動(dòng)畫(huà)時(shí),CPU 利用率長(zhǎng)時(shí)間飆升至 100%

的情況并不少見(jiàn)。這可能是不可取的,特別是如果有其他實(shí)時(shí)活動(dòng)正在進(jìn)行。值得慶幸的是,可以使用一些很棒的優(yōu)化。


  首先,限制動(dòng)畫(huà)空間的大小。動(dòng)畫(huà)只占屏幕的一小部分是很常見(jiàn)的。但是,嵌入式開(kāi)發(fā)人員經(jīng)常一遍又一遍地重寫(xiě)整個(gè)屏幕。開(kāi)發(fā)人員可以縮小它們的大小,使其不使用整個(gè)屏幕。通過(guò)這樣做,他們可以只更新屏幕的一小部分。這會(huì)導(dǎo)致圖像存儲(chǔ)大小、使用的內(nèi)存以及處理動(dòng)畫(huà)所需的時(shí)鐘周期減少。


  另一個(gè)建議是使用快速 RAM 來(lái)優(yōu)化像素寫(xiě)入。大多數(shù)基于微控制器的系統(tǒng)都有一定數(shù)量的快速、零等待

RAM,甚至是設(shè)計(jì)用于與圖形加速器和幀緩沖區(qū)一起使用的 RAM。使用此 RAM 可以最大限度地減少執(zhí)行周期,并在屏幕動(dòng)畫(huà)時(shí)將 CPU 負(fù)載保持在 100%

以下。


  技巧4:利用 DMA


  嵌入式開(kāi)發(fā)人員經(jīng)常忽略的另一種簡(jiǎn)單技術(shù)是利用微控制器 (MCU) 直接存儲(chǔ)器訪問(wèn) (DMA) 控制器。DMA

控制器由多個(gè)通道組成,可用于執(zhí)行以下類型的內(nèi)存?zhèn)鬏敚?/span>


  外設(shè)到 RAM

  RAM 到外圍設(shè)備

  內(nèi)存到內(nèi)存


  這對(duì)于在沒(méi)有 CPU 干預(yù)的情況下在應(yīng)用程序中移動(dòng)大量數(shù)據(jù)非常有用!這意味著可以在 CPU

忙于處理模數(shù)轉(zhuǎn)換時(shí)在后臺(tái)更新幀緩沖區(qū)。


  一些 MCU 還可以執(zhí)行以下類型的 DMA 傳輸:


  閃存到 RAM

  閃存到外設(shè)


  這對(duì)于直接從閃存中讀取圖像并將它們推送到幀緩沖區(qū)非常有用?;陂W存的 DMA 通道往往不太常見(jiàn),盡管它們正在尋找進(jìn)入高性能

MCU 的途徑。


  技巧5:預(yù)渲染字體


  GUI 顯示文本是很常見(jiàn)的,而文本又使用某種字體。開(kāi)發(fā)人員可以通過(guò)預(yù)渲染字體再次以更少的 CPU

周期換取存儲(chǔ)空間,從而提高他們的圖形系統(tǒng)效率。當(dāng)字體已經(jīng)被渲染時(shí),它們可以直接寫(xiě)入屏幕。如果它們沒(méi)有被渲染,那么這意味著 CPU

必須使用一些周期和時(shí)間來(lái)渲染字體,然后才能將它們推入幀緩沖區(qū)。


  工業(yè)應(yīng)用越來(lái)越多地利用 GUI 為客戶和用戶提供直觀且易于使用的界面。雖然工業(yè) GUI

設(shè)計(jì)人員起初可能對(duì)利用基于嵌入式系統(tǒng)的解決方案猶豫不決,但我們?cè)诮裉斓奶又锌吹?,有許多優(yōu)化技術(shù)可用于顯著簡(jiǎn)化和優(yōu)化這些應(yīng)用程序。這些技術(shù)包括調(diào)整圖像格式、圖像存儲(chǔ)方式以及減少

CPU 周期。歸根結(jié)底,嵌入式開(kāi)發(fā)人員需要仔細(xì)檢查顯示系統(tǒng)中的每個(gè)鏈接,并確定可以采取哪些措施來(lái)最小化所需的處理能力。

電話咨詢

電話咨詢

咨詢電話:
4008-569-579
回到頂部

回到頂部