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