你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

工程师笔记 | 使用 TouchGFX4.12.3+L8 格式减少图片资源以提高性能

[复制链接]
STMCU-管管 发布时间:2021-6-23 15:14
客户在使用 TouchGFX开发 GUI应用的时候, 需要很多的图片资源来呈现友好的人机交互功能, 因此外扩了一个 FLASH来存储图片资源. 在软件研发后期发现现有的 FLASH存储空间不够, 因此提出是否可以使用 TouchGFX来减少图片资源的存储空间且实现同样的 UI效果.0 g3 U( {9 ]8 ?
21.png

$ W4 u4 F! L1 _, [8 z; F4 w01调研5 i2 S3 E# F* G# j  B' R7 ^& L6 u  c3 K
% K0 Z; b$ X; }1 k. p+ G- R. c
( u( P* v# o- p' |' L
# 在硬件方面
9 @  H% u5 H$ ^1 ?MCU 的图像处理加速器DMA2D 中的调色板的颜色格式 , 支持 L8 格式的图层之间的渲染:
0 P/ v0 t6 T1 M; w# C
22.png
; N- ^) U; [! s4 ~# j4 O7 {+ P
- L0 v/ Y1 q1 d
# 从软件方面
0 ?( l1 k2 C- V6 G/ u最新的 TouchGFX4.12.3 开始, 可以利用了 DMA2D 的调色板功能对图片的资源进行优化 .
6 e4 |, W' R* t
3 N4 u( n8 V  Q0 u! e3 x# 比如下图(宽 x 高=200x200)
9 M# M9 s2 B6 a. E2 r% z  S  Q5 O5 @
( P* M5 l- i: l3 r

# g4 t3 w8 P& b# J  O6 T1. 这幅图是由 256 种颜色组成的.4 d3 }* s; Y" m  G- ~
2. 且每种颜色都针对图像进行了优化.; q3 |, Z- J' T
3. 256 种索引颜色中的每一种都是 24 位颜色.( w9 B/ b/ a' p. N* N4 ]
23.png
/ a, j8 {7 p9 s  b/ c3 e) T
为了在 LCD 上显示这张图, TouchGFX Designer 在生成资源文件时,生成的资源文件大小:, d% `, J$ X6 r

: d4 h' U5 U8 m- {: m- T1 {
5 D5 S" z  K2 x; A. B  D  n
1. L8_ARGB8888 :
: P5 C, _8 B' w/ P200x200x1byte+256x4byte=41024bytes6 P' K) `4 ?: V1 V) @8 r
=>200x200 个 8bit 的颜色索引+256 个 32bit" I6 R7 n; l% u$ X; j' N8 h5 y
24.png

6 Q2 w0 W5 ~/ z2. ARGB8888 :
# F" x# z- |) y% I200x200x4byte=160000bytes.9 |6 J( e' F. ~
=>200x200 个 32bit 的颜色8 z3 ^* y2 _! p3 B' m1 D  \. E
  k( J: r  d5 P0 Y: ?* }

6 f# T6 ]" T3 c" N3 j+ j( Q在 TouchGFX 中使用 L8 Image ,只需要将 L8 的图片拖入到 TouchGFX Designer 中,然后在Image 页面中选择正确的格式 :! }" n! m& A  ~
25.png

3 U9 {) _- m% k$ D3 T3 T
8 t6 o' g% W0 e7 H注意: 如果图片超过 256 颜色,转换工具就会报错,因此可以使用图片工具(如0 ]+ v# L' {& A& Z
. G8 F; x( E* h: a/ c5 x: e

# e+ Y# C1 r5 Z" dpaint.net/imagemagick)将颜色数减少至少于 256 色 :! u" L0 Z, z/ Y6 J. F2 ~9 z" C; K
  n% g, e' d0 X$ V  E7 ~3 }2 V' E0 f

! L" {1 w# U  E. P* F6 \; X- Z Paint.net:
+ A. c. s- c; j' b+ b
26.png

: {% A% p, I) Z5 N  E8 f% Y" n1 KImage Magick (www.imagemagick.org):
& ]5 H* P8 |4 ], F& r8 G
27.png

8 k* B7 l$ i' L5 a; I
" k/ L3 Y6 r6 Z* r& j3 _. P# w1 ]02结论
& V3 G$ @& \3 h; ^
  @) }4 d0 k. F5 A, X

( J& V9 k0 P8 |0 |0 s图像使用 L8 格式时占用的 flash 大小显著低于标准 24 位格式(RGB888)的原始图像。下表列出了这三种不同调色板格式的具体图像的 flash 使用情况(图片分辨率 200x200):
2 o: T( }3 {3 m7 H! m6 F$ v
28.png
) V/ {, l. |5 [; g+ n. C  Y' ]
由于 TouchGFX 对于 L8 格式还可以支持 L8_ARGB8888,因此可以与 ARGB8888 等格式的图像进行混合渲染,因此特别适合作为图标等颜色数少但是素材丰富的应用.4 S$ N  i  D. `5 ~2 ?; L6 L
! y* [1 q( E. w: T' o4 s6 g5 P# g% C
综上可以看出,采用 TouchGFX4.12.3+L8 格式 :( X% V$ V( j; h' U

4 n/ l* Q6 H, {

$ c. Y, U4 z2 b; P! V1. 相比较 ARGB8888 像素格式, L8 大幅降低了资源文件的大小, 从而降低对存储芯片的需求 .
: r8 {6 }: h6 {* [4 H2. 同时由于图片像素信息大幅减少,读写一张图片的速度也大大提高, 也提高了系统实时性能.9 `7 a! d/ z3 U2 Y

1 ?+ ~6 F7 K' F/ p! T  C1 c4 I6 t, b
2 v/ s; K: \. _6 K
03处理# G) b& o3 H: b0 Y
, [. G3 \* }8 E7 `. t. O+ |- |
因此我们建议客户选择使用 TouchGFX4.12.3+L8 的功能,通过重新优化部分资源文件,减少图片资源的存储空间来实现客户的 UI 效果,并且改善了系统的实时性能.
  Q* ^4 A+ e1 k1 u$ W
收藏 1 评论1 发布时间:2021-6-23 15:14

举报

1个回答
xudongqiang 回答时间:2021-9-7 15:26:07
打卡,学习!1 B- t. t1 ?4 i. x: H' I4 S

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版