TouchGFX
4.12
TouchGFX 4.12更新要点
TouchGFX 引擎的优化
—提升UI的效果,占用更少的MCU和缓存资源
支持6位色深显示屏
节省 RAM 和 FLASH
支持 L8 图片格式
节省 FLASH
部分帧缓存 - 节省 RAM
在UI启动时,只需要12kB的RAM(缓存 + TouchGFX). 支持所有STM32系列,包括 Cortex M0+ 核
可缓存容器
使用更少的资源达到更平滑的动画效果 获得更高的帧速率
TouchGFX Designer的新功能
—简化你的UI设计
新的控件: AnalogClock, DigitalClock, Shape 和 TextureMapper, 都支持缩放和旋转动画
新的图片管理器
为更容易的对图片进行配置 (format, dither algorithm, layout rotation, storage)
定制化触发器和动作
用TouchGFX Designer定制化控件间的互动,加速你的研发,并减少对用户C++的要求
性能的增强
代码读取和生成提升了两倍的速度
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位色来创建高级外观和体验
支持调色板为16bit,24bit和32bit的L8压缩格式
如果图片色数少于256色,Flash节省可达 50%到75%
减少传输数据量来提升刷新率
L8 格式是通过Chrom-ART加速器
透明度支持
每张图有独立的调色板
TouchGFX Designer的管理器帮你管理所有格式的图片
调色板例子:
图片建立在合适的调色板: 这种图片最多由256种颜色组成 (如果要用L8 调色板,最多只能256种颜色)
每种颜色最多只 24位色
Binary Fonts:
可以运行时加载和安装binary格式的字库
字体可以来自外部存储介质(如:SD卡)或者internet
详情请查看(复制粘贴网址到外部浏览器): https://touchgfx.zendesk.com/hc/en-us/articles/360024979552-Using-Binary-Fonts-and-the-Font-Cache
Font Caching:
•当字库太大无法被全部加载进内存时,Font Cache仅从字库中获当前需要的字符
•由于只存储需要的字符,TouchGFX用有限的内存就可以实现复杂语言的显示
详情请查看(复制粘贴网址到外部浏览器):
https://touchgfx.zendesk.com/hc/en-us/articles/360024979552-Using-Binary-Fonts-and-the-Font-Cache可缓存容器
在动态位图中试用可缓存的容器时,可以显著的降低重刷的时间,从而达到60帧每秒的刷新率
缓存部分或者整屏作为一个传输的缓存
需要外部RAM
这用于当一个物体是可以被复杂计算出动画间不被修改的部分
可以在动画过程中,缓存里面的内容(例如:表面)有些点是可以被计算的
可缓存容器给你带来: 让你的高级控件和字体区域有平滑的动画,可以达到更高的刷新率,如60fps
详情(复制粘贴网址到外部浏览器):
https://touchgfx.zendesk.com/hc/en-us/articles/360007902520-Achieving-better-performance-with-CacheableContainer视频示例:
局部缓存
•可配置的缓存大小,最小为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-
视频示例:
TouchGFX 只重刷图表中所需要被更新的部分,
这也许由不同的多个块组成。
块的缓存在被刷新而发送到显示屏上后,都可以被其他的部分重新利用。
•UI存储是建立在STM32G0上使用局部刷新和SPI flash
想象STM32的入门级解决方案
TouchGFX Designer的新功能和提升
简化UI 的研发
新控件
•纹理映射:一个绘图可以做到可调解的自由缩放和旋转
•Shape:允许用户自由的画不规则的图,并且可以自由的缩放和旋转
•模拟时钟
•数字时钟
•图片管理器:新的图片标签增加,并且以树形结构显示和预览。还有独立的图片配置 (图片格式、 Dither 算法、图层旋转、存储器等)。
•个性化触发和行为:
用TouchGFX定义你自己部件之间的互动
提升你的UI设计和更多的实际应用,只需要通过TouchGFX,并不需要通过C++来编写