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

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

[复制链接]
STMCU-管管 发布时间:2021-6-23 15:14
客户在使用 TouchGFX开发 GUI应用的时候, 需要很多的图片资源来呈现友好的人机交互功能, 因此外扩了一个 FLASH来存储图片资源. 在软件研发后期发现现有的 FLASH存储空间不够, 因此提出是否可以使用 TouchGFX来减少图片资源的存储空间且实现同样的 UI效果.
3 ?# ~. d8 S2 e
21.png
+ O# F6 z2 N% Q- {! a3 g
01调研2 n6 ]$ ]) m/ Z7 n2 d  b
3 J  L+ m8 O' F6 V. [2 Y+ P

7 m! i0 L; E4 j5 T# 在硬件方面7 [1 [3 w* ?- j' y: n8 S
MCU 的图像处理加速器DMA2D 中的调色板的颜色格式 , 支持 L8 格式的图层之间的渲染:
" p, W  {: r( l
22.png
, x! n. L+ ]/ f/ T
- b) P" ^4 K" V- `7 D
# 从软件方面
6 m* C" n! [+ i2 m! o" K& u最新的 TouchGFX4.12.3 开始, 可以利用了 DMA2D 的调色板功能对图片的资源进行优化 .
6 @6 {( C& z' n/ ]: I9 ], i* O. ~8 r& m5 B# E  ?0 Q* }
# 比如下图(宽 x 高=200x200)
3 ^0 M% y. d" \! ^
3 n6 ~# |* A8 u! m5 f  E
$ }# }, v, J' p$ R, t7 s
1. 这幅图是由 256 种颜色组成的.
  A/ Y7 V: F* c$ N0 b; g: V2. 且每种颜色都针对图像进行了优化.1 ?# k4 u+ a3 H3 C
3. 256 种索引颜色中的每一种都是 24 位颜色.& C6 w' R: B9 q! Q
23.png
- [5 B+ [7 [4 E
为了在 LCD 上显示这张图, TouchGFX Designer 在生成资源文件时,生成的资源文件大小:  j2 ~( J, S' b6 B2 c

2 i. |* M. p. ]  F% p
/ h+ x! w) _0 B* R( V
1. L8_ARGB8888 :
2 R. y# z8 [; r& g( O4 _/ [( P& j200x200x1byte+256x4byte=41024bytes
4 b; @( P7 P* ^=>200x200 个 8bit 的颜色索引+256 个 32bit  p+ e7 A0 e! {, g4 u1 @
24.png
& E8 t. e2 a1 d- P
2. ARGB8888 :
  h* e! y/ }: z+ i200x200x4byte=160000bytes.. L6 C5 x+ w9 Z  b
=>200x200 个 32bit 的颜色5 U  L9 H5 d* r0 U
  B8 i+ B) d0 ^# u3 O
( p3 u3 P+ x' S% ]4 ~
在 TouchGFX 中使用 L8 Image ,只需要将 L8 的图片拖入到 TouchGFX Designer 中,然后在Image 页面中选择正确的格式 :
* b7 \+ P2 g& Y' q. z5 q
25.png
9 ~( k+ b! Y6 L

2 C% O  M7 T: b$ K/ J注意: 如果图片超过 256 颜色,转换工具就会报错,因此可以使用图片工具(如: h9 m" l& P; d; d8 A2 m
1 }/ M( O7 o9 Q, K
, f8 W: e9 P3 R% [* L
paint.net/imagemagick)将颜色数减少至少于 256 色 :
1 P* I' ?/ z1 D: O5 y& o3 l' M4 ]7 t+ r9 D1 W# ~
: K2 \' @- ~; A$ ^  _: J: u1 {
Paint.net:3 t6 g: O- `/ u3 B
26.png
% R& N  M! Z( \6 ~
Image Magick (www.imagemagick.org):
) M( A4 F! _$ z5 }7 c" W: M$ O8 S
27.png

& _6 s/ D5 ~1 e- ]; q" x
, L0 S& S) D& b) c) d02结论! Q: P1 e, w: I/ j0 j9 \

9 S" N5 C% n' D7 `7 ^

% \: [( l) F3 q4 r+ r  v( z& }# q图像使用 L8 格式时占用的 flash 大小显著低于标准 24 位格式(RGB888)的原始图像。下表列出了这三种不同调色板格式的具体图像的 flash 使用情况(图片分辨率 200x200):5 j/ X" K7 k5 B4 Y& D: J' m0 q
28.png

0 Y* C" v# b! i8 |& D由于 TouchGFX 对于 L8 格式还可以支持 L8_ARGB8888,因此可以与 ARGB8888 等格式的图像进行混合渲染,因此特别适合作为图标等颜色数少但是素材丰富的应用.* N5 t1 c2 O$ o& X' l9 y
. G. ^( D1 y) z9 |9 |) i) S
综上可以看出,采用 TouchGFX4.12.3+L8 格式 :9 f( c4 b* h/ j

9 h5 m% R3 ?) G% X7 D

4 s) |2 O! H* _# Q/ ?( J1. 相比较 ARGB8888 像素格式, L8 大幅降低了资源文件的大小, 从而降低对存储芯片的需求 .
! G2 E! M0 S6 C3 r2. 同时由于图片像素信息大幅减少,读写一张图片的速度也大大提高, 也提高了系统实时性能.: f0 M' c3 D# u* c7 G" o8 r/ N, R

) D5 {1 i+ ^& Y5 Q; K* c
& b) ?4 l; G: K" J0 f0 D
03处理# j; i4 k: S7 s

; _0 l9 r5 I9 j/ R6 x3 D因此我们建议客户选择使用 TouchGFX4.12.3+L8 的功能,通过重新优化部分资源文件,减少图片资源的存储空间来实现客户的 UI 效果,并且改善了系统的实时性能., \( o5 R8 @. t* |  F% g
收藏 1 评论1 发布时间:2021-6-23 15:14

举报

1个回答
xudongqiang 回答时间:2021-9-7 15:26:07
打卡,学习!+ {% F' [9 J; p
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版