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

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

[复制链接]
STMCU-管管 发布时间:2021-5-31 17:37
客户在使用 TouchGFX开发 GUI应用的时候, 需要很多的图片资源来呈现友好的人机交互功能, 因此外扩了一个 FLASH来存储图片资源. 在软件研发后期发现现有的 FLASH存储空间不够, 因此提出是否可以使用 TouchGFX来减少图片资源的存储空间且实现同样的 UI效果.
- J% U& ~  r; c
1.png
) C5 i3 b& x  _9 a0 k9 e8 o: U% f
01调研
: a( }$ S3 p6 q; ^6 h7 v0 I! A6 y" ]$ s

6 F9 o/ }! K9 m% A& c5 h# 在硬件方面
  r" r3 O: c( S" s. P
, n- d% u& u+ V. w! |, L
- E! Q2 J: L2 K  v
MCU 的图像处理加速器DMA2D 中的调色板的颜色格式 , 支持 L8 格式的图层之间的渲染:
- R6 F* L; t  r
2.png
2 B( a& z- M, n5 K: e
# 从软件方面/ B3 @* d% e" g9 e" Y/ {

, y6 e# Y% j8 b/ ?+ l4 p: U0 Y

  n: C& u: e5 h/ C最新的 TouchGFX4.12.3 开始, 可以利用了 DMA2D 的调色板功能对图片的资源进行优化 .) W0 H; K6 r) m; I

* V: Q& O& V; A$ J) r# 比如下图(宽 x 高=200x200)
; K' a9 f( H: W" [+ m( h  M7 ?) Y" B+ a5 Y

) H6 G5 J% u; _# j1. 这幅图是由 256 种颜色组成的.
/ P+ T5 Z, D2 f/ S* h; D" v2. 且每种颜色都针对图像进行了优化.
: Z" O/ `& w- P! }& R3. 256 种索引颜色中的每一种都是 24 位颜色.
3 }1 Q5 ]/ I# k
3.png
为了在 LCD 上显示这张图, TouchGFX Designer 在生成资源文件时,生成的资源文件大小:
( A- c* _4 i8 n# ?" a! N1 t% K: Q$ [3 ]/ ~( G# H1 \7 I/ g
, u8 D( r' V4 K& I0 |; J
1. L8_ARGB8888 :* s9 ~; Y2 f: }9 Q7 h5 M
200x200x1byte+256x4byte=41024bytes
' ?, J* j& q  R( r- \/ R+ b' p
" A  q# `# i0 Z1 v# `  X9 ]0 }
' |$ Y. ^; l' W" t' T- ~$ k
=>200x200 个 8bit 的颜色索引+256 个 32bit; U& v5 |9 x/ [3 m5 y- m% K5 a
4.png
: a+ M6 U5 r# x, d

  c2 C( i8 |" E2 [- L) M% ^: a! D2. ARGB8888 :
4 K! l$ ?# T9 H+ d4 I, Z200x200x4byte=160000bytes.7 y, A; H3 g: o4 H2 I
=>200x200 个 32bit 的颜色# j# B0 {- O! r8 K

  C/ k" a) x1 p$ `8 r
3 f1 O; f- m; ]$ n
在 TouchGFX 中使用 L8 Image ,只需要将 L8 的图片拖入到 TouchGFX Designer 中,然后在Image 页面中选择正确的格式 :
+ t  B% C- Q( [! u8 U' I, Q
5.png

) `) U8 m2 v! K2 Q4 w. Q; |9 ?/ i注意 :如果图片超过 256 颜色,转换工具就会报错,因此可以使用图片工具(如" ~3 i" T8 i7 d( M

& C) k- N" ?( F0 F+ G

2 q0 Z2 L" C) G7 Opaint.net/imagemagick)将颜色数减少至少于 256 色 :1 |8 S/ L' o+ F
$ ]5 }9 y7 P2 P7 L& q5 \. J" l

; i7 _. l3 v' w! w Paint.net:: L8 y7 w) Q9 g8 }# `
6.png
Image Magick (www.imagemagick.org):6 p: n; P9 H1 d( i' [3 U( v
7.png

4 \) X$ t6 ~& l; ?( n6 g* [02结论
0 ~+ x4 a. H, i% x9 p6 N7 P! \$ c5 K+ G/ z" R
3 S* n( H1 z% {1 i" f
图像使用 L8 格式时占用的 flash 大小显著低于标准 24 位格式(RGB888)的原始图像。下表列出了这三种不同调色板格式的具体图像的 flash 使用情况(图片分辨率 200x200):* ~2 A6 a' W# H: L# k
8.png
由于 TouchGFX 对于 L8 格式还可以支持 L8_ARGB8888,因此可以与 ARGB8888 等格式的图像进行混合渲染,因此特别适合作为图标等颜色数少但是素材丰富的应用.; S2 p! q: G4 s4 _" h

' S3 v" r( O- e: M8 \% J

/ c9 w# K2 v1 |综上可以看出,采用 TouchGFX4.12.3+L8 格式 :
4 B& v. {( Z3 j. R' I( \, v. H8 o2 c1 l1 q- A- Y9 D
; M; P8 i$ B6 T0 K8 w/ }$ G
1. 相比较 ARGB8888 像素格式, L8 大幅降低了资源文件的大小, 从而降低对存储芯片的需求 .- r0 N: e: k% K2 E3 K& B" h
2. 同时由于图片像素信息大幅减少,读写一张图片的速度也大大提高, 也提高了系统实时性能., G- O# p# J0 |% U% n
5 l& g- `4 u& d. T! ^
03处理
+ A  e& b: F! p6 ], g0 X) m4 L- n; X' J0 B
因此我们建议客户选择使用 TouchGFX4.12.3+L8 的功能,通过重新优化部分资源文件,减少图片资源的存储空间来实现客户的 UI 效果,并且改善了系统的实时性能.
: D# T9 |4 ^; E* ~9 L8 s8 e: v
6 \: b. S2 g2 P) S  M: s* _/ L4 X
赞 1 收藏 1 评论1 发布时间:2021-5-31 17:37

举报

1个回答
BEEE 回答时间:2021-9-14 21:08:25
学习
  D1 S6 U+ P% q1 ~. H! W4 F

所属标签

相似技术帖

官网相关资源

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