0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 作者:黄工的嵌入式技术 2020-02-03 15:07 次阅读

TouchGFX属于Draupner Graphics公司的GUI产品,在去年(2018年7月),TouchGFX被ST收购,在STM32上可以免费使用TouchGFX。

之前也写过关于GUI的文章:盘点嵌入式那些常见的GUI:emWin、TouchGFX、MiniGUI、Qt等。

一、TouchGFXSuite(开发套件)

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

二、TouchGFX 4.12

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

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

三、CacheableContainers缓存容器

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

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

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

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

原理:

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

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

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

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

原理:

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

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

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

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

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

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

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 主板
    +关注

    关注

    52

    文章

    1607

    浏览量

    67756
  • 单帧数据
    +关注

    关注

    0

    文章

    2

    浏览量

    6126
  • TouchGFX
    +关注

    关注

    1

    文章

    40

    浏览量

    13029
收藏 人收藏

    评论

    相关推荐

    基于TouchGFX的智能手表设计(4)

    电子发烧友网站提供《基于TouchGFX的智能手表设计(4).pdf》资料免费下载
    发表于 12-29 17:31 2次下载

    基于TouchGFX的智能手表设计(3)

    电子发烧友网站提供《基于TouchGFX的智能手表设计(3).pdf》资料免费下载
    发表于 12-29 17:30 3次下载

    基于TouchGFX的智能手表设计(2)

    电子发烧友网站提供《基于TouchGFX的智能手表设计(2).pdf》资料免费下载
    发表于 12-29 17:29 4次下载

    基于TouchGFX的智能手表设计(1)

    电子发烧友网站提供《基于TouchGFX的智能手表设计(1).pdf》资料免费下载
    发表于 12-29 17:28 2次下载

    实战经验 | TouchGFX 控件附加 ClickListener 功能的方法介绍

    关键词:GUI,TouchGFX,Mixin,ClickListener 目录预览 1、引言 2、TouchGFX ClickListener 模板的使用 3、小结 01 引言 TouchGFX
    的头像 发表于 11-17 17:40 493次阅读

    TouchGFX开发(3)----使用TouchGFX配置IIC接口OLED

    TouchGFX开发(3)----使用TouchGFX配置IIC接口OLED
    的头像 发表于 11-09 15:31 792次阅读
    <b class='flag-5'>TouchGFX</b>开发(3)----使用<b class='flag-5'>TouchGFX</b>配置IIC接口OLED

    TouchGFX从旧版本更新到新版本的方法

    X-CUBE-TOUCHGFX 是 STM32Cube 生态系统的一个软件包,它包含以下组件:TouchGFX Designer,TouchGFX Generator 和 TouchGFX
    的头像 发表于 11-01 17:15 532次阅读
    <b class='flag-5'>TouchGFX</b>从旧版本<b class='flag-5'>更新</b>到新版本的方法

    实战经验 | TouchGFX从旧版本更新到新版本的方法

    关键词:TouchGFX,版本升级 目录预览 1、引言 2、TouchGFX软件升级安装 3、工程项目由旧版本迁移到新版本TouchGFX
    的头像 发表于 11-01 17:15 328次阅读

    基于 TouchGFX 生成的代码中添加触摸功能的方法

    基于 TouchGFX 生成的代码中添加触摸功能的方法
    的头像 发表于 10-27 09:21 392次阅读
    基于 <b class='flag-5'>TouchGFX</b> 生成的代码中添加触摸功能的方法

    如何添加触摸屏驱动到TouchGFX中?

    使用STM32CubeMX移植TouchGFX 一文中介绍了如何用TouchGFX点亮屏幕,但是此时屏幕还没有触摸的功能。下面将介绍如何添加触摸屏驱动到TouchGFX
    的头像 发表于 10-09 14:41 932次阅读

    如何写出单片机发送字母A的一帧数格式?

    写出发送字母\'A的一帧数格式(假设串口工作在方式1,且已知字符A的ASCII 码是65 (对应十六进制0x41))。
    发表于 09-25 06:47

    stm32如何实现串口超时接收一帧数据?

    stm32如何实现串口超时接收一帧数据?
    发表于 09-22 07:00

    stm32如何实现串口超时接收一帧数据?

    stm32如何实现串口超时接收一帧数
    发表于 09-20 06:08

    使用TouchGFX Designer快速开发人机界面演示

    利用TouchGFXDesigner实现GUI应用• 演示如何利用TouchGFX Designer搭建基于TouchGFX的GUI应用。主要展现了:• 开发环境的搭建• TouchGFX
    发表于 09-11 06:17

    TouchGFX界面开发:TouchGFX软件安装

    TouchGFX和STemWin类似,都是一个GUI框架,可以方便的在STM32 Cortex-M4 以及更高级别的STM32芯片上创建GUI应用程序。
    的头像 发表于 05-29 10:08 976次阅读
    <b class='flag-5'>TouchGFX</b>界面开发:<b class='flag-5'>TouchGFX</b>软件安装