[开发工具] TouchGFX 4.12 新功能之详细解说

[复制链接]
1134|17
 楼主| waveforms 发表于 2020-3-7 12:47 | 显示全部楼层 |阅读模式
转载自:ST社区:http://www.stmcu.org.cn/module/forum/thread-622471-1-1.html
142907h3m2lnccnmsbz3cm.jpg
TouchGFX 4.12更新要点

TouchGFX 引擎的优化
—提升UI的效果,占用更少的MCU和缓存资源

·支持6位色深显示屏
节省 RAM 和 FLASH
·支持 L8 图片格式
节省 FLASH
·部分帧缓存 - 节省 RAM
在UI启动时,只需要12kB的RAM(缓存 +TouchGFX). 支持所有STM32系列,包括 Cortex M0+ 核
·可缓存容器
使用更少的资源达到更平滑的动画效果 获得更高的帧速率

 楼主| waveforms 发表于 2020-3-7 12:48 | 显示全部楼层
TouchGFX Designer的新功能
—简化你的UI设计

·新的控件: AnalogClock, DigitalClock, Shape 和TextureMapper, 都支持缩放和旋转动画
·新的图片管理器
为更容易的对图片进行配置 (format, dither algorithm,layout rotation, storage)
·定制化触发器和动作
用TouchGFX Designer定制化控件间的互动,加速你的研发,并减少对用户C++的要求
·性能的增强
代码读取和生成提升了两倍的速度
 楼主| waveforms 发表于 2020-3-7 13:21 | 显示全部楼层
TouchGFX 引擎的深度优化
不但提升你的UI性能,同时降低你的MCU使用率和缓存大小
支持6 bpp (64 色) 显示屏
·减少RAM和FLASH
6bit color + 2 bit alpha = 8bit image
比16 bit色的节省 50% 内存
·减低图片数据来提高刷新率
·6 位色深给你带来的选项:
在MCU中运行更流畅(包括 Cortex M0+)
仅需内部RAM
单芯片解决方案,只使用内部FLASH和RAM
直接驱动MIP (Memory In Pixel) 显示屏
基于6位色来创建高级外观和体验
504745e632f6a24bc5.png
 楼主| waveforms 发表于 2020-3-7 13:22 | 显示全部楼层
支持调色板为16bit,24bit和32bit的L8压缩格式

·如果图片色数少于256色,Flash节省可达 50%到75%
·减少传输数据量来提升刷新率  
·L8 格式是通过Chrom-ART加速器
·透明度支持
·每张图有独立的调色板
·TouchGFX Designer的管理器帮你管理所有格式的图片
调色板例子:
图片建立在合适的调色板:  这种图片最多由256种颜色组成 (如果要用L8 调色板,最多只能256种颜色)
每种颜色最多只 24位色
774195e632f8644c2c.png
 楼主| waveforms 发表于 2020-3-7 13:23 | 显示全部楼层
Font Caching:
593215e632fd3c6f35.png

•当字库太大无法被全部加载进内存时,Font Cache仅从字库中获当前需要的字符
•由于只存储需要的字符,TouchGFX用有限的内存就可以实现复杂语言的显示
详情请查看(复制粘贴网址到外部浏览器):
https://touchgfx.zendesk.com/hc/en-us/articles/360024979552-Using-Binary-Fonts-and-the-Font-Cache
 楼主| waveforms 发表于 2020-3-7 13:24 | 显示全部楼层
可缓存容器
在动态位图中试用可缓存的容器时,可以显著的降低重刷的时间,从而达到60帧每秒的刷新率
缓存部分或者整屏作为一个传输的缓存
需要外部RAM
这用于当一个物体是可以被复杂计算出动画间不被修改的部分
可以在动画过程中,缓存里面的内容(例如:表面)有些点是可以被计算的
可缓存容器给你带来: 让你的高级控件和字体区域有平滑的动画,可以达到更高的刷新率,如60fps
详情(复制粘贴网址到外部浏览器):
https://touchgfx.zendesk.com/hc/en-us/articles/360007902520-Achieving-better-performance-with-CacheableContainer
 楼主| waveforms 发表于 2020-3-7 13:24 | 显示全部楼层
局部缓存
•可配置的缓存大小,最小为6KB
•UI总共RAM的大小,最小为12KB(包括缓存和TouchGFX)
•支持所有的STM32,包括Cortex M0+ 核
•显示屏接口: DSI, SPI, Parallel/8080/FMC/ •限制:
部分显示的更新,提高了UI性能的极限
(看右边视频显示的UI,基于STM32G081)
要求显示屏需要有控制器/GRAM
•部分缓存给你带来:
非常低的RAM 占用
可以选择更小的 STM32, E.G.:STM32G0
详情(复制粘贴网址到外部浏览器): https://touchgfx.zendesk.com/hc/en-us/articles/360008040699-Lowering-memory-requirements-using-Partial-Frame-Buffers-
696605e633015354c1.png
 楼主| waveforms 发表于 2020-3-7 13:25 | 显示全部楼层
TouchGFX 只重刷图表中所需要被更新的部分,
这也许由不同的多个块组成。
块的缓存在被刷新而发送到显示屏上后,都可以被其他的部分重新利用。
•UI存储是建立在STM32G0上使用局部刷新和SPI flash
215275e63304713feb.png
 楼主| waveforms 发表于 2020-3-7 13:25 | 显示全部楼层
想象STM32的入门级解决方案
664425e63305aa900f.png
TouchGFX Designer的新功能和提升
 楼主| waveforms 发表于 2020-3-7 13:26 | 显示全部楼层
简化UI 的研发
1085e6330793786c.png
新控件
171705e6330866dc05.png
 楼主| waveforms 发表于 2020-3-7 13:27 | 显示全部楼层
•纹理映射:一个绘图可以做到可调解的自由缩放和旋转
•Shape:允许用户自由的画不规则的图,并且可以自由的缩放和旋转
•模拟时钟
•数字时钟
•图片管理器:新的图片标签增加,并且以树形结构显示和预览。还有独立的图片配置 (图片格式、 Dither 算法、图层旋转、存储器等)。
421095e63309bd9ed9.png
 楼主| waveforms 发表于 2020-3-7 13:27 | 显示全部楼层
•个性化触发和行为:
用TouchGFX定义你自己部件之间的互动
提升你的UI设计和更多的实际应用,只需要通过TouchGFX,并不需要通过C++来编写
816605e6330bb242f3.png
磨砂 发表于 2020-4-3 17:46 | 显示全部楼层
非常感谢楼主分享
晓伍 发表于 2020-4-3 17:46 | 显示全部楼层
非常感谢楼主分享
八层楼 发表于 2020-4-3 17:47 | 显示全部楼层
非常感谢楼主分享
观海 发表于 2020-4-3 17:47 | 显示全部楼层
非常感谢楼主分享
guanjiaer 发表于 2020-4-3 17:47 | 显示全部楼层
非常感谢楼主分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

32

主题

212

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部