1. gzyueqian
      13352868059

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

      更新時間: 2022-10-22 10:55:43來源: 粵嵌教育瀏覽量:9313

        傳統(tǒng)上,工業(yè)應用需要模擬按鈕、開關和撥號來與用戶交互。時代在變化,工業(yè)應用程序用戶現(xiàn)在需要豐富的圖形用戶界面(GUI)。在嵌入式開發(fā)中,許多接口都構建在功能強大的嵌入式系統(tǒng)之上,但它們仍然是資源受限的系統(tǒng),它們可能在處理能力、內存或電池壽命方面受到資源限制。

        在今天的文章中,我們將研究幾個在工業(yè)應用程序中優(yōu)化GUI的技巧。

        技巧1——直接從閃光燈繪制圖像

        GUI圖像通常以PNG的形式存儲在閃存中。PNG文件格式是一種壓縮圖像格式,旨在節(jié)省空間。這聽起來不錯,但如果圖像被壓縮,這意味著處理器需要先解壓縮圖像,然后才能將其寫入幀緩沖區(qū)。解壓縮圖像不僅需要內部RAM,還將浪費寶貴的時鐘周期來解壓縮圖像。

        嵌入式開發(fā)人員可以利用的優(yōu)化是解壓縮PNG并以TGA格式將其存儲在閃存中。此格式是一種未壓縮的文件格式,支持每像素8、16、24或32位,具有8位alpha通道。雖然每個圖像都將大于PNG,但可以直接從閃存寫入幀緩沖區(qū),而無需浪費CPU周期和RAM進行解壓縮。值得慶幸的是,閃存通常非常便宜,而且許多系統(tǒng)設計師無論如何都會加大閃存的尺寸,所以這種優(yōu)化不僅會提高系統(tǒng)性能,而且對系統(tǒng)成本的影響也應該是最小的。

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

        有幾種不同的圖像格式可用于與顯示器交互,但它們并非都是平等創(chuàng)建的,具有各種優(yōu)缺點。例如,RGB888格式為開發(fā)人員提供了每像素24位的顏色深度,這意味著8位用于每個紅色、綠色和藍色顏色控件。雖然這確實提供了豐富的顏色,但存儲圖像除了需要更復雜的硬件和利用要求外,還需要額外的存儲空間。

        工業(yè)應用的一個很好的折衷方案是使用RGB565格式。RGB565格式為嵌入式開發(fā)人員提供了每像素16位的顏色深度,其中5位用于表示紅色,6位用于表示綠色,5位用于代表藍色。顯然,顏色保真度不會像RGB888格式那樣豐富,因為我們使用的是16位而不是24位表示。為了恢復由于可用比特數(shù)較少而丟失的部分色彩保真度,我們可以對圖像添加抖動,結果是一個美觀的圖像,節(jié)省了存儲和計算能力。

        

        技巧3——仔細優(yōu)化動畫

        一般來說,動畫可以大大改善GUI。無論是創(chuàng)建一個漂亮的閃屏還是在屏幕上顯示實時數(shù)據(jù)。然而,動畫的問題在于,它們通常需要大量的處理能力。在播放動畫時,CPU使用率在長時間內飆升至100%并不罕見。這可能并不理想,特別是如果有其他實時活動正在進行。幸運的是,有一些很好的優(yōu)化可以使用。

        首先,限制動畫空間的大小。動畫通常只占屏幕的一小部分。然而,嵌入式開發(fā)人員經常一遍又一遍地重寫整個屏幕。開發(fā)人員可以縮小尺寸,這樣就不會使用整個屏幕。通過這樣做,他們可以只更新屏幕的一小部分。這會導致圖像存儲大小、使用的內存和處理動畫所需的時鐘周期減少。

        另一個建議是使用快速RAM優(yōu)化像素寫入。大多數(shù)基于微控制器的系統(tǒng)都有一定數(shù)量的快速、零等待RAM,甚至RAM設計用于圖形加速器和幀緩沖區(qū)。使用此RAM可以最小化執(zhí)行周期,并在屏幕動畫時將CPU負載保持在100%以下。

        技巧4——利用DMA

        嵌入式開發(fā)人員經常忽略的另一個簡單技術是利用微控制器(MCU)直接內存訪問(DMA)控制器。DMA控制器由多個通道組成,可用于執(zhí)行以下類型的內存?zhèn)鬏敚?/span>

        l 外圍設備到RAM

        l RAM到外圍設備

        l RAM到RAM

        這對于在應用程序中移動大量數(shù)據(jù)而不需要CPU干預非常有用!這意味著當CPU忙于處理模數(shù)轉換時,可以在后臺更新幀緩沖區(qū)。

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

        l 閃存至RAM

        l 閃存到外圍設備

        這對于直接從閃光燈中讀取圖像并將其推送到幀緩沖區(qū)非常有用。基于閃存的DMA頻道往往不太常見,盡管它們正在尋找進入高性能MCU的途徑。

        技巧5——預渲染字體

        GUI通常會顯示文本,而文本又使用一些字體。嵌入式開發(fā)人員可以通過預先渲染字體,再次以較少的CPU周期換取存儲空間,從而提高圖形系統(tǒng)的效率。當字體已經呈現(xiàn)后,可以直接寫入屏幕。如果它們還沒有被渲染,那么,這意味著CPU必須使用一些周期和時間來渲染字體,然后才能將其推入幀緩沖區(qū)。

        結論

        工業(yè)應用程序越來越多地利用GUI為客戶和用戶提供直觀、易于使用的界面。雖然工業(yè)GUI設計師起初可能對利用基于嵌入式系統(tǒng)的解決方案猶豫不決,但有許多優(yōu)化技術可以用來顯著簡化和優(yōu)化這些應用程序。這些技術包括調整圖像格式、如何存儲圖像以及減少CPU周期。最后,嵌入式開發(fā)人員需要仔細檢查顯示系統(tǒng)中的每個鏈接,并確定可以采取什么措施來最小化所需的處理能力。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲欧美日韩精品一区二区 | 在线波多野结衣绝顶高潮抖动 | 亚洲成a人片在线观看88 | 亚洲成年网在线观看黄 | 日本乱子伦视频免费观看 | 起碰97在线视频国产 |