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

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

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

TouchGFX升級(jí)至V4.12,每秒幀數(shù)從9幀升級(jí)至60幀 更新TouchGFX Suite

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 作者:黃工的嵌入式技術(shù) ? 2020-02-03 15:07 ? 次閱讀

TouchGFX屬于Draupner Graphics公司的GUI產(chǎn)品,在去年(2018年7月),TouchGFX被ST收購,在STM32上可以免費(fèi)使用TouchGFX。

之前也寫過關(guān)于GUI的文章:盤點(diǎn)嵌入式那些常見的GUI:emWin、TouchGFX、MiniGUI、Qt等。

一、TouchGFXSuite(開發(fā)套件)

TouchGFX是STM32生態(tài)系統(tǒng)中的免費(fèi)工具。它由兩部分組成:用于設(shè)計(jì)和配置豐富的用戶界面的TouchGFX Designer PC工具,以及在終端設(shè)備上運(yùn)行以確保較高UI性能的TouchGFX Engine軟件。

二、TouchGFX 4.12

TouchGFX 4.12帶來了可緩存容器,部分幀緩沖區(qū)以及L8圖形壓縮格式等內(nèi)容,這些都將改善更多STM32微控制器的性能。

這也是ST自2018年收購該解決方案以來的首次重大升級(jí),并且已成為STM32生態(tài)系統(tǒng)不可或缺的一部分。

三、CacheableContainers緩存容器

CacheableContainer是一項(xiàng)技術(shù),顧名思義,它使用位圖緩存來顯著加速圖形性能,并通過大規(guī)模優(yōu)化性能來實(shí)現(xiàn)更高的幀速率以實(shí)現(xiàn)更平滑的過渡。

如果沒有CacheableContainer技術(shù),則簡單的全屏(240×320)幻燈片動(dòng)畫將以每秒9幀的速度運(yùn)行。啟用了新的TouchGFX技術(shù)后,系統(tǒng)可以達(dá)到每秒60幀的速度。

盡管某些智能手表因其外形尺寸固有的重大硬件限制以及需要更長的電池壽命,但目前仍使用此功能來確保更無縫的用戶體驗(yàn)。為復(fù)雜的小部件設(shè)置動(dòng)畫時(shí),它可以使性能最大化。

在傳統(tǒng)系統(tǒng)中,動(dòng)畫要求系統(tǒng)重新繪制每一幀,這可能會(huì)使計(jì)算變得昂貴。在屏幕1和屏幕2之間的動(dòng)畫中,大約需要20幀,重新繪制每個(gè)幀大約需要100毫秒。

原理:

CacheableContainer通過以系統(tǒng)保留在RAM中的位圖的形式將第一幀和最后一幀存儲(chǔ)在單獨(dú)的容器中來繞過此問題。該系統(tǒng)無需計(jì)算動(dòng)畫,而是使用DMA從內(nèi)存中檢索兩個(gè)圖像,并通過簡單的DynamicBitmap方法將其顯示在不同的位置。

MCU不再需要渲染每個(gè)幀,從而顯著優(yōu)化了性能。開發(fā)人員只需勾選Cacheable在“ TouchGFX設(shè)計(jì)器”框中,選擇要緩存的容器在內(nèi)存中的位置,并在需要時(shí)調(diào)用它們。使用此技術(shù),渲染時(shí)間從100毫秒降至5毫秒。

四、部分幀緩沖部分幀緩沖是ST為客戶開發(fā)的另一項(xiàng)技術(shù),有巨大的成果。幀緩沖區(qū)是連續(xù)的存儲(chǔ)空間,用于存儲(chǔ)將出現(xiàn)在顯示屏上的每個(gè)像素的表示形式。

例如,用于智能手表顯示屏的標(biāo)準(zhǔn)24位390 x 390圖像需要3,650,400位或440 KB的幀緩沖器。 公式:

原理:

顧名思義,部分幀緩沖區(qū)僅存儲(chǔ)一部分幀緩沖區(qū),從而將其在內(nèi)存中的大小平均減少10。開發(fā)人員可以根據(jù)實(shí)際更改的屏幕部分配置其大小,然后存儲(chǔ)多個(gè)部分幀緩沖區(qū)。

TouchGFX引擎將選擇合適的引擎并將其發(fā)送到顯示器。因此,系統(tǒng)不必獲取整個(gè)緩沖區(qū),而是使用更小的文件,從而提高了整體性能。

該技術(shù)最適合短動(dòng)畫,例如時(shí)鐘或隨時(shí)間推移而建立的圖形。它還要求屏幕使用嵌入式控制器,因?yàn)樗鼘⒅苯訌腗CU的RAM接收部分幀緩沖區(qū),從而繞過Flash以進(jìn)一步提高性能。該技術(shù)可用于Parallel / 8080,DSI和SPI顯示器。

五、L8壓縮格式和TouchGFX開發(fā)工具

圖形資源在內(nèi)存中占用大量空間,直到現(xiàn)在開發(fā)人員唯一能做的就是減少細(xì)節(jié)以縮小文件大小。不幸的是,這也意味著要提供不太友好的圖形用戶界面。

L8的獨(dú)特之處在于,它可以利用STM32微控制器中存在的ChromART加速器來顯著壓縮圖像文件。只要圖片資源最多使用256種顏色,開發(fā)人員就可以選擇通過使用L8格式壓縮圖形資源,只需在TouchGFX開發(fā)工具中打勾即可。

該系統(tǒng)生成的圖像縮小了多達(dá)75%,并且解壓縮階段在計(jì)算上非常有效,因?yàn)樗褂肅hromART引擎查找表格中的各種顏色并對資產(chǎn)進(jìn)行解壓縮而不會(huì)降低質(zhì)量。

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

    關(guān)注

    53

    文章

    1883

    瀏覽量

    70842
  • 單幀數(shù)據(jù)
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    6152
  • TouchGFX
    +關(guān)注

    關(guān)注

    1

    文章

    42

    瀏覽量

    13240
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    tougfx如何限制刷新

    touchgfx中不是有個(gè)model類中tick一直循環(huán)被調(diào)用,怎么讓它讓他調(diào)用的速度慢一些,我感覺是通過改變刷新的頻率解決,有別的解決辦法嗎?
    發(fā)表于 12-06 22:04

    can標(biāo)準(zhǔn)和擴(kuò)展的區(qū)別

    CAN(Controller Area Network)是一種用于汽車和工業(yè)領(lǐng)域的通信協(xié)議,它允許多個(gè)設(shè)備在同一總線上進(jìn)行通信。CAN協(xié)議有兩種類型:標(biāo)準(zhǔn)和擴(kuò)展。這兩種類型在結(jié)
    的頭像 發(fā)表于 07-24 15:20 ?1896次閱讀

    TouchGFX 中 MCU 負(fù)載的計(jì)算過程介紹

    TouchGFX Desinger 下載的 TBS(TouchGFX Board Setup)大都帶有 MCU 的 負(fù)載計(jì)算功能,那么如何在自己的板子上增加 MCU 負(fù)載計(jì)算功能呢?本文檔參考
    的頭像 發(fā)表于 05-24 13:24 ?485次閱讀
    <b class='flag-5'>TouchGFX</b> 中 MCU 負(fù)載的計(jì)算過程介紹

    如何判斷USART接收到一幀數(shù)據(jù)?

    如何判斷USART接收到一幀數(shù)據(jù)
    發(fā)表于 05-16 07:31

    科學(xué)家研發(fā)超高幀率相機(jī),每秒拍攝156.3萬億圖像

    通過獨(dú)特的計(jì)算成像模式,研究團(tuán)隊(duì)成功地讓光線于不同時(shí)刻進(jìn)入傳感器,使得相機(jī)能以驚人的每秒156.3萬億速度拍攝緩慢運(yùn)動(dòng)的畫面。
    的頭像 發(fā)表于 03-27 15:46 ?953次閱讀

    touchgfx如何改變圖片顏色?

    touchgfx是否有提供函數(shù)可以直接改變image控件中圖片的顏色,類似LVGL中圖片控件的recolor函數(shù),對圖片重新著色成某種純色圖片,如果touchgfx沒有這種函數(shù),是否有方法可以實(shí)現(xiàn)這種功能?
    發(fā)表于 03-15 06:24

    MX生成文件touchGFX無法成功編譯是哪里出了問題?

    1、MX生成文件時(shí),toolchian工具選擇keil且touchGFX選擇高版本時(shí),生成文件可以成功在touchGFX不可以成功編譯。 2、toolchian工具選擇IDE且touchGFX選擇
    發(fā)表于 03-13 07:40

    基于TouchGFX的智能手表設(shè)計(jì) —底層驅(qū)動(dòng)與 UI 進(jìn)行關(guān)聯(lián)

    電子發(fā)燒友網(wǎng)站提供《基于TouchGFX的智能手表設(shè)計(jì) —底層驅(qū)動(dòng)與 UI 進(jìn)行關(guān)聯(lián).pdf》資料免費(fèi)下載
    發(fā)表于 01-05 11:22 ?2次下載

    基于TouchGFX的智能手表設(shè)計(jì) —MVP 架構(gòu)下的邏輯設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于TouchGFX的智能手表設(shè)計(jì) —MVP 架構(gòu)下的邏輯設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 01-05 11:21 ?1次下載

    基于TouchGFX的智能手表設(shè)計(jì) —硬件驅(qū)動(dòng)層程序設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于TouchGFX的智能手表設(shè)計(jì) —硬件驅(qū)動(dòng)層程序設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 01-05 11:20 ?1次下載

    基于 TouchGFX 的智能手表設(shè)計(jì)—Designer 軟件 UI 設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于 TouchGFX 的智能手表設(shè)計(jì)—Designer 軟件 UI 設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 01-05 11:06 ?0次下載

    基于TouchGFX的智能手表設(shè)計(jì)(4)

    電子發(fā)燒友網(wǎng)站提供《基于TouchGFX的智能手表設(shè)計(jì)(4).pdf》資料免費(fèi)下載
    發(fā)表于 12-29 17:31 ?6次下載

    基于TouchGFX的智能手表設(shè)計(jì)(3)

    電子發(fā)燒友網(wǎng)站提供《基于TouchGFX的智能手表設(shè)計(jì)(3).pdf》資料免費(fèi)下載
    發(fā)表于 12-29 17:30 ?7次下載

    基于TouchGFX的智能手表設(shè)計(jì)(2)

    電子發(fā)燒友網(wǎng)站提供《基于TouchGFX的智能手表設(shè)計(jì)(2).pdf》資料免費(fèi)下載
    發(fā)表于 12-29 17:29 ?5次下載

    基于TouchGFX的智能手表設(shè)計(jì)(1)

    電子發(fā)燒友網(wǎng)站提供《基于TouchGFX的智能手表設(shè)計(jì)(1).pdf》資料免費(fèi)下載
    發(fā)表于 12-29 17:28 ?6次下載