打印
[应用相关]

使用 TouchGFX4.12.3+L8 格式减少图片资源以提升性能

[复制链接]
2708|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
LEDyyds|  楼主 | 2022-1-25 10:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
前言
客户在使用 TouchGFX 开发 GUI 应用的时候, 往往需要很多的图片资源来呈现友好的人机交
互功能
, 因此外扩了一个 FLASH 来存储图片资源. 在软件研发后期发现现有的 FLASH 存储空间
不够
, 因此提出是否可以使用 TouchGFX 来减少图片资源的存储空间且实现同样的 UI 效果.  

使用特权

评论回复
沙发
LEDyyds|  楼主 | 2022-1-25 10:02 | 只看该作者
1 调研
经过调研发现 :
➢ 在硬件方面 :
MCU 的图像处理加速器 DMA2D 中的调色板的颜色格式 , 支持 L8 格式的图层之间的渲
:  


➢ 从软件方面:
最新的 TouchGFX4.12.3 开始, 可以利用了 DMA2D 的调色板功能对图片的资源进行优
化 .
➢ 比如下图(宽 x 高=200x200) :
1.这幅图是由 256 种颜色组成的.
2.且每种颜色都针对图像进行了优化.
3.256 种索引颜色中的每一种都是 24 位颜色.

➢ 为了在 LCD 上显示这张图, TouchGFX Designer 在生成资源文件时,生成的资源文件 大小 :
1. L8_ARGB8888 :
200x200x1byte+256x4byte=41024bytes
200x200 个 8bit 的颜色索引+256 个 32bit 的颜色

2. ARGB8888 :
200x200x4byte=160000bytes.
→200x200 个 32bit 的颜色
在 TouchGFX 中使用 L8 Image ,只需要将 L8 的图片拖入到 TouchGFX Designer 中,
然后在 Image 页面中选择正确的格式 :

➢ 注意 :如果图片超过 256 颜色,转换工具就会报错,因此可以使用图片工具(如
paint.net/imagemagick)将颜色数减少至少于 256 色 :
✓ Paint.net :

✓ Image Magick (www.imagemagick.org):



3347261ef5a2053b89.png (3.15 KB )

3347261ef5a2053b89.png

使用特权

评论回复
板凳
LEDyyds|  楼主 | 2022-1-25 10:03 | 只看该作者
2 结论
图像使用 L8 格式时占用的 flash 大小显著低于标准 24 位格式(RGB888)的原始图像。下表列出
了这三种不同调色板格式的具体图像的 flash 使用情况(图片分辨率 200x200):
Format Size of pixels /
bytes
Size of palette /
bytes
Total size /
bytes
Reduction in %
RGB888 120,000 0 120,000 -
L8_RGB565 40,000 32 40,032 66.6%
L8_RGB888 40,000 48 40,048 66.6%
L8_ARGB8888 40,000 64 40,064 66.6%
由于 TouchGFX 对于 L8 格式还可以支持 L8_ARGB8888,因此可以与 ARGB8888 等格式
的图像进行混合渲染,因此特别适合作为图标等颜色数少且素材丰富的应用
.
综上可以看出,采用 TouchGFX4.12.3+L8 格式 :
1.
相比较 ARGB8888 像素格式, L8 大幅降低了资源文件的大小, 从而降低对存储芯片的
需求
.
2.
同时由于图片像素信息大幅减少,读写一张图片的速度也大大提高, 也提高了系统实时
性能
.

使用特权

评论回复
地板
LEDyyds|  楼主 | 2022-1-25 10:04 | 只看该作者
3 处理
因此我们建议客户选择使用 TouchGFX4.12.3+L8 的功能,通过重新优化部分资源文件,减
少图片资源的存储空间来实现客户的
UI 效果,并且改善了系统的实时性能.  

使用特权

评论回复
5
jstgotodo| | 2022-2-22 17:32 | 只看该作者
TouchGFX支持Stm32F407系列吗?

使用特权

评论回复
6
phoenixwhite| | 2022-2-23 16:52 | 只看该作者
专为低功耗、低主频的cortex-m系列单片机打造。

使用特权

评论回复
7
aspoke| | 2022-2-23 18:38 | 只看该作者
TouchGFX的stm32移植

使用特权

评论回复
8
pixhw| | 2022-2-23 19:08 | 只看该作者
touchgfx怎么添加stm32模板?

使用特权

评论回复
9
fengm| | 2022-2-23 19:43 | 只看该作者
下载STM32Cube最新固件,免费获得TouchGFX 4.10版本

使用特权

评论回复
10
earlmax| | 2022-2-23 20:12 | 只看该作者
TouchGFX STM32嵌入式GUI界面入门教程

使用特权

评论回复
11
tabmone| | 2022-2-23 20:40 | 只看该作者
touchgfx stm32可以免费用吗

使用特权

评论回复
12
cashrwood| | 2022-2-23 21:09 | 只看该作者
TouchGFX是一个基于STM32硬件由C++写成的软件框架

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

119

主题

854

帖子

1

粉丝