TouchGFX升级至V4.12,每秒帧数从9帧升级至60帧,同时更新TouchGFX Suite

关注、星标公众,不错过精彩内容html

640?wx_fmt=png

TouchGFX属于Draupner Graphics公司的GUI产品,在去年(2018年7月),TouchGFX被ST收购,在STM32上能够无偿使用TouchGFX。缓存

1、TouchGFX Suite(开发套件)工具

TouchGFX是STM32生态系统中的免费工具。它由两部分组成:用于设计和配置丰富的用户界面的TouchGFX Designer PC工具,以及在终端设备上运行以确保较高UI性能的TouchGFX Engine软件。性能

640?wx_fmt=jpeg

2、TouchGFX 4.12开发工具

TouchGFX 4.12带来了可缓存容器,部分帧缓冲区以及L8图形压缩格式等内容,这些都将改善更多STM32微控制器的性能。优化

这也是ST自2018年收购该解决方案以来的首次重大升级,而且已成为STM32生态系统不可或缺的一部分。动画

3、CacheableContainers缓存容器ui

CacheableContainer是一项技术,顾名思义,它使用位图缓存来显着加速图形性能,并经过大规模优化性能来实现更高的帧速率以实现更平滑的过渡。设计

若是没有CacheableContainer技术,则简单的全屏(240×320)幻灯片动画将以每秒9帧的速度运行。启用了新的TouchGFX技术后,系统能够达到每秒60帧的速度htm

640?wx_fmt=png

尽管某些智能手表因其外形尺寸固有的重大硬件限制以及须要更长的电池寿命,但目前仍使用此功能来确保更无缝的用户体验。为复杂的小部件设置动画时,它可使性能最大化。

在传统系统中,动画要求系统从新绘制每一帧,这可能会使计算变得昂贵。在屏幕1和屏幕2之间的动画中,大约须要20帧,从新绘制每一个帧大约须要100毫秒。

原理:

CacheableContainer经过以系统保留在RAM中的位图的形式将第一帧和最后一帧存储在单独的容器中来绕过此问题。该系统无需计算动画,而是使用DMA从内存中检索两个图像,并经过简单的DynamicBitmap方法将其显示在不一样的位置。

MCU再也不须要渲染每一个帧,从而显着优化了性能。开发人员只需勾选Cacheable在“ TouchGFX设计器”框中,选择要缓存的容器在内存中的位置,并在须要时调用它们。使用此技术,渲染时间从100毫秒降至5毫秒。

4、部分帧缓冲
部分帧缓冲是ST为客户开发的另外一项技术,有巨大的成果。帧缓冲区是连续的存储空间,用于存储将出如今显示屏上的每一个像素的表示形式。

例如,用于智能手表显示屏的标准24位390 x 390图像须要3,650,400位或440 KB的帧缓冲器。

公式: 640?wx_fmt=png

原理:

顾名思义,部分帧缓冲区仅存储一部分帧缓冲区,从而将其在内存中的大小平均减小10。开发人员能够根据实际更改的屏幕部分配置其大小,而后存储多个部分帧缓冲区。

640?wx_fmt=jpeg

TouchGFX引擎将选择合适的引擎并将其发送到显示器。所以,系统没必要获取整个缓冲区,而是使用更小的文件,从而提升了总体性能。

该技术最适合短动画,例如时钟或随时间推移而创建的图形。它还要求屏幕使用嵌入式控制器,由于它将直接从MCU的RAM接收部分帧缓冲区,从而绕过Flash以进一步提升性能。该技术可用于Parallel / 8080,DSI和SPI显示器。

5、L8压缩格式和TouchGFX开发工具

图形资源在内存中占用大量空间,直到如今开发人员惟一能作的就是减小细节以缩小文件大小。不幸的是,这也意味着要提供不太友好的图形用户界面。

L8的独特之处在于,它能够利用STM32微控制器中存在的ChromART加速器来显着压缩图像文件。只要图片资源最多使用256种颜色,开发人员就能够选择经过使用L8格式压缩图形资源,只需在TouchGFX开发工具中打勾便可。

该系统生成的图像缩小了多达75%,而且解压缩阶段在计算上很是有效,由于它使用ChromART引擎查找表格中的各类颜色并对资产进行解压缩而不会下降质量。

参考网址:
https://blog.st.com/touchgfx
https://www.st.com/en/development-tools/touchgfxdesigner.html

‧  END  

推荐阅读: