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引擎查找表格中的各种颜色并对资产进行解压缩而不会降低质量。

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

    关注

    55

    文章

    2429

    浏览量

    77438
  • 单帧数据
    +关注

    关注

    0

    文章

    2

    浏览量

    6228
  • TouchGFX
    +关注

    关注

    1

    文章

    42

    浏览量

    14253
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    迅为RK系列开发板重磅升级SDK内核5.10全面升级6.1 LTS

    迅为RK系列开发板重磅升级SDK内核5.10全面升级6.1 LTS
    的头像 发表于 03-18 13:21 1514次阅读
    迅为RK系列开发板重磅<b class='flag-5'>升级</b>SDK内核<b class='flag-5'>从</b>5.10全面<b class='flag-5'>升级</b><b class='flag-5'>至</b>6.1 LTS

    迅为电子RK系列开发板SDK内核正式升级6.1 LTS版本

    迅为RK3568、RK3588、RK3576、RK3562系列开发板,SDK内核5.10版本正式升级6.1 LTS版本。
    的头像 发表于 03-16 16:18 681次阅读

    降本提效!触觉智能RK3506核心板现已支持OTA升级,省去烧录迭代更高效

    触觉智能RK3506核心板/开发板SDK即将迎来更新,版本为“rk3506_linux6.1_v1.2.0”。此次更新优化解决了部分bug、完善了部分适配,内核
    的头像 发表于 01-27 08:10 1151次阅读
    降本提效!触觉智能RK3506核心板现已支持OTA<b class='flag-5'>升级</b>,省去烧录迭代更高效

    STM32H750B-DK开发板 快速上手&amp;TouchGFX入门

    当前固件版本V1.4.0,以及默认CPU主频为400MHz: ​ 右侧的TouchGFX默认是一个智能家居的应用,可以通过指示选择Kitchen或者Bathroom等场景,演示对其中的一些家电进行控制
    发表于 01-10 02:07

    Bootloader固件升级的步骤

    ,也可以不更新,在项目中,我们通常会对 FW 版本号进行对比,会将 MCU 中的 App 程序更新最新的版本,起到固件升级的效果。更新的话,BootLoader
    发表于 11-19 07:41

    重磅升级!迅为iTOP-Hi3403开发板SDK全面升级Linux 6.6内核

    【重磅升级!迅为iTOP-Hi3403开发板SDK全面升级Linux 6.6内核】
    的头像 发表于 11-18 13:34 1293次阅读
    重磅<b class='flag-5'>升级</b>!迅为iTOP-Hi3403开发板SDK全面<b class='flag-5'>升级</b><b class='flag-5'>至</b>Linux 6.6内核

    使用nrf54L15的NORDIC蓝牙芯片,通过串口发送一帧数据包时,会出现分包发送分析

    使用nrf54L15的NORDIC蓝牙芯片,通过串口发送一帧数据包时,会出现分包发送分析,是什么原因呢
    发表于 11-17 15:52

    【课程升级】STM32U5开发板《TouchGFX 图形界面开发》,从快速入门到深度UI实战教程

    TouchGFX图形界面开发》课程,这部分升级已完成。由原来的7讲升级25讲,总时长达9小时,内容体系更完整。新增“
    的头像 发表于 11-04 11:05 751次阅读
    【课程<b class='flag-5'>升级</b>】STM32U5开发板《<b class='flag-5'>TouchGFX</b> 图形界面开发》,从快速入门到深度UI实战教程

    索尼FCB-ER9500:4K60模组的三大核心优势

    在安防监控、无人机航拍、工业检测等领域,高分辨率与高帧率成像技术正成为行业升级的核心驱动力。索尼推出的4K模组FCB-ER9500,凭借其4K分辨率与60每秒的输出能力,重新定义了超
    的头像 发表于 10-31 09:37 785次阅读

    touchgfx4.25颜色错误是什么原因导致的?

    touchgfx4.25颜色错误 .紫色显示成了蓝色. 使用rgb888或者rgb565模式都试过结果一样.后方的红绿蓝紫是svg图片.非box控件的颜色.
    发表于 08-14 06:21

    为什么无法在 USB3 Vision 上传输虚拟

    了 10 ,但实际消耗的帧数为 0,导致所有数据都卡在 FX3 缓冲区中。另外,我不明白为什么值是 3424256,而传输计数却为 0,根据 U3V 规范,这会终止主机的有效载荷接收。
    发表于 07-16 06:42

    STM32U5+8bit_8080 LCD 怎么配置touchgfx

    我参与的项目使用STM32U575做为主空,使用fmc来驱动8080接口的8bitLCD,配置touchgfx时不能配置为8bit,其他选型例如DMA2D也使用不了,我该怎么做?
    发表于 06-09 06:23

    移植touchgfx之后stm32不运行程序,为什么?

    这个是我中断优先级,还有touchgfx的中断。进入debug运行都是在Reset_Handler 然后进入debug点很多次运行才执行发送串口而且还是乱码,不加入之前还是正常的
    发表于 06-06 07:55

    移植touchgfx之后stm32不运行程序怎么解决?

    MCU:STM32U585CIU6 cubemx:6.14 touchgfx:25 我在cubemx配置生成touchgfx的初始化,时基是TIM7,没有用RTOS,生成之后再用designer随便
    发表于 06-06 07:43

    请问X—CUBE—AI和touchgfx没法同时使用吗?

    启用了touchgfx,X—CUBE-AI的device application就无法选择了?这俩工具没法同时使用吗?小白求问佬们
    发表于 06-06 07:16