TouchGFX大更新!可緩存容器支持從9 FPS到60 FPS的刷新率,還有更多…
N E W A R R I V A L——TouchGFX 4.12
我們免費的圖形化用戶界面工具——TouchGFX, 在其圖形引擎和設(shè)計工具中,迎來了重大的升級。TouchGFX 4.12帶來了:可緩存容器,支持局部緩存,和L8圖形壓縮格式,這些都將會給STM32微控制性能帶來更高的提升。當(dāng)嵌入式系統(tǒng)繼續(xù)深入主流市場,加上目前的顯示屏和高效的圖形用戶界面都將大大的提升用戶體驗。這解釋了為什么很多報告都顯示越來越多的嵌入式系統(tǒng)工程師現(xiàn)在都需要和GUI打交道。還有業(yè)界也在嘗試去適應(yīng)MCU緊湊的計算吞吐量。TouchGFX Designer是我們基于MCU的桌面GUI設(shè)計工具,其高效的圖形算法引擎可以大大幫助開發(fā)高端的圖形應(yīng)用,同時減少對C++的依賴。
觀看視頻:三分鐘Get TouchGFX- Design, Implement & Run!
TouchGFX 4.12是一個很有象征性的版本,因為在2018年被ST收購,成為ST生態(tài)中重要的一員后,這是第一次重大的升級。其中一個在MCU背后驅(qū)使的宗旨就是提供更好的性能,以及更多附加性能。這也是為什么我們很高興使用類似QT以及其他當(dāng)前類似的著名GUI工具在我們的MCU上運行。不管怎樣,我們都很高興對TouchGFX帶來具有重大意義的升級。我們會繼續(xù)在這個方案上帶來更專業(yè)和免費的強大工具給到用戶。目前采用TouchGFX的可能大部分都是穿戴和家電上的用戶。在將來,我們期待STM32開發(fā)者會不斷地將TouchGFX涉及到更多領(lǐng)域。
可緩存容器
重新思考如何渲染一個緩存
可緩存容器是TouchGFX team新增加的一個功能。就如其名, 可使用一張位圖緩存來提高圖形,并通過提高刷幀率來達到更好性能的目的。下面這個視頻基于STM32F429I Discovery板。這是沒有可緩存容器的例程,支持全屏(240*320)動畫,刷幀率為9FPS。在使用了新的TouchGFX技術(shù)后,可以達到60fps,讓動畫變得更流暢。在目前的一些智能手表上使用這個功能,在硬件的限制下,可以達到更好的效果以及延長電池使用時間。在一些需要使用復(fù)雜動畫的部分,如紋理映射,或?qū)⑿〉膭赢嬙仫@示在一個靜態(tài)背景上,都可以達到性能最大化。
觀看視頻:TouchGFX實例:Cacheable Container
在傳統(tǒng)的系統(tǒng)上,一些動畫需要系統(tǒng)對緩存重畫,并且需要復(fù)雜的運算,也有一些動畫需要兩個圖層,并且可能需要20幀,然而每一幀都需要100ms重畫?删彺嫒萜骶涂梢员苊膺@個問題,只需要在RAM里獨立保存第一幀和最后一幀。系統(tǒng)就會用簡單的動態(tài)位圖方法,和DMA對兩張圖的傳輸,來代替計算動畫。MCU不再需要重刷每幀,這可以顯著提升性能。研發(fā)人員只需要在TouchGFX Designer上選中Cacheable box,在那些被你選中的容器中,重刷的時間從100ms可以降到5ms。
局部緩存
最佳優(yōu)化存儲緩存
局部緩存是另外一種已被驗證過擁有良好效果的技術(shù)。一個緩存幀就是一段連續(xù)的存儲空間。例如,一個標(biāo)準(zhǔn)390*390@24-bit智能穿戴圖片的大小是3,650,400 bits 或440 KB,這幾乎是L4+在智能手表和穿戴應(yīng)用中 70%的SRAM容量。如果在一個需要兩幀或三幀的應(yīng)用中,這個問題會更加凸顯。為了超出這個局限性,可以使用一個大的緩存來取得更多的數(shù)據(jù),但是這樣會減低性能。
顧名思義,局部緩存就是僅存儲局部的緩存內(nèi)容,開發(fā)者可以在相應(yīng)的地方配置緩存大小,以存儲多個局部緩存。TouchGFX引擎會選擇最合適的緩存,然后顯示在屏上。因此,代替取得完整緩存的方法,這可以讓系統(tǒng)使用更小的文件,從而增加整個系統(tǒng)的性能。這個技術(shù)在一些小的動畫中尤為突出,例如時鐘或者圖表需要自我更新的時候。這也同樣支持那些自帶控制器,能夠直接接收MCU RAM中局部緩存的數(shù)據(jù),如并口/8080,DSI和SPI顯示屏。
直到現(xiàn)在圖片資源占據(jù)大量存儲資源,開發(fā)者只能降低清晰度來減少緩存大小。不幸運的是很少有這樣的用戶接口。L8是獨特的有顯著壓縮效果的一種壓縮算法,通過高級的ChromART 加速器來實現(xiàn)。只要該資源少于256種顏色,一般是在背景顏色、圖表或者按鍵在一個小嵌入式設(shè)備中,研發(fā)者可以在TouchGFX Designer中選取L8格式,來選擇壓縮。這系統(tǒng)產(chǎn)出的圖最大能節(jié)省75%。高效解壓的步驟是通過ChromART引擎在查表形式來還原各種真實的顏色,以保不失真。
TouchGFX Designer同樣也帶來了其他令人興奮的升級。有新的功能還有新的控件,例如電子鐘、紋理映射。同時開發(fā)者也可以創(chuàng)建自己的程序。雖然這要求用戶有入門級的C++能力,但它可以帶來更好的性能。這個工具也支持添加的用戶觸發(fā)源和動作。這樣就算開發(fā)者沒有編程能力也可以測試和實驗。TouchGFX Designer現(xiàn)在生成和讀取系統(tǒng)都比以前快兩倍,這也大大提升了研發(fā)人員的體驗感受。
PS: STM32用戶還可一如既往免費使用STemWIN
TouchGFX完整包,包括TouchGFX Designer和TouchGFX Engine,現(xiàn)可以從https://www.st.com/touchgfxdesigner下載。
編輯:admin 最后修改時間:2019-11-20