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

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

[复制链接]
STMCU-管管 发布时间:2021-6-23 15:14
客户在使用 TouchGFX开发 GUI应用的时候, 需要很多的图片资源来呈现友好的人机交互功能, 因此外扩了一个 FLASH来存储图片资源. 在软件研发后期发现现有的 FLASH存储空间不够, 因此提出是否可以使用 TouchGFX来减少图片资源的存储空间且实现同样的 UI效果.) }1 j4 ~8 Q! \! g) i* K; K
21.png
0 E: b0 E; @' L, ^& q
01调研( N$ I, J5 u4 z* y

8 B& R" G3 l8 Y# U3 r. J

* b7 L2 E( Z9 |" p# 在硬件方面
7 Q! g2 i+ ?: V* I# uMCU 的图像处理加速器DMA2D 中的调色板的颜色格式 , 支持 L8 格式的图层之间的渲染:* P  ?4 u3 Q6 ?% t
22.png
" a6 }  D3 K4 D# c5 Q+ ?

4 ~; Q" D  }- f; h$ U# 从软件方面
' K. O# l6 V/ D! N; z最新的 TouchGFX4.12.3 开始, 可以利用了 DMA2D 的调色板功能对图片的资源进行优化 .6 M  C; t" o) f  G

+ T1 s  X) H/ Q' P) }) l# 比如下图(宽 x 高=200x200)
- \& S4 i7 |& U4 g4 _( \, k% a* H6 w! a

1 n; l' o, L; \+ r  d# o. h' T+ w7 k1. 这幅图是由 256 种颜色组成的.
" m. u* u# e' A4 n: G* R2. 且每种颜色都针对图像进行了优化." h( m2 d* o$ C* U* K
3. 256 种索引颜色中的每一种都是 24 位颜色.
5 z- Y: N2 C5 r8 A$ [& s
23.png
( p4 ]; ^2 v1 Q
为了在 LCD 上显示这张图, TouchGFX Designer 在生成资源文件时,生成的资源文件大小:
  H/ w9 C4 m' U1 ~. s. V2 w; B+ N/ j" h+ i
- r' S. l% s0 L, v
1. L8_ARGB8888 :
+ }1 w, i  [6 Y7 {0 L200x200x1byte+256x4byte=41024bytes$ }2 |* F  K7 E3 K4 p
=>200x200 个 8bit 的颜色索引+256 个 32bit# d3 `6 L8 A* Y+ ~2 {$ b
24.png

" q4 i, {6 o/ E2. ARGB8888 :$ a: r! T% d# z: Y6 K/ D/ @
200x200x4byte=160000bytes.
2 S" {+ x& `( P5 V7 `3 \$ {=>200x200 个 32bit 的颜色5 i. x$ e$ c4 ]$ w$ K/ e  R( p2 `

9 B+ L9 B) Z% c+ _( N) H# t: j) W

/ o; c% O" W; `9 y: R# q, G! `在 TouchGFX 中使用 L8 Image ,只需要将 L8 的图片拖入到 TouchGFX Designer 中,然后在Image 页面中选择正确的格式 :" ]. w! g! ~1 o' F
25.png
; o1 E! K2 e& y; j
# t9 [2 x: i& c( I, w" U
注意: 如果图片超过 256 颜色,转换工具就会报错,因此可以使用图片工具(如  {! O* b% W# E. K; W* c
) }5 Q6 N2 a. q% b: a# t7 j
1 P2 g$ t0 R8 j+ F
paint.net/imagemagick)将颜色数减少至少于 256 色 :
( q3 j7 K' I" U$ `
* `+ S# C* o3 J5 j# K: j- N+ `. {4 W
0 \) f( B  n: w5 ?# e
Paint.net:0 v8 i# D3 o: i, p; m6 H. J2 A
26.png
0 R; K8 n+ |' p' m( B# t) e
Image Magick (www.imagemagick.org):. a& f7 n6 _& X/ {+ A
27.png

7 ^+ e+ c& h; {1 U# r' m: E7 c
% z+ v4 |( }  ^02结论
  u) r, `* D5 s9 u( H1 `8 |3 o. ?  m0 \
8 P! t" k$ |% G; g" M& I. ^
图像使用 L8 格式时占用的 flash 大小显著低于标准 24 位格式(RGB888)的原始图像。下表列出了这三种不同调色板格式的具体图像的 flash 使用情况(图片分辨率 200x200):/ E/ d+ g' u) n1 K" E1 O9 g+ O. ~5 m
28.png
8 p" J3 R1 C6 V2 k' P
由于 TouchGFX 对于 L8 格式还可以支持 L8_ARGB8888,因此可以与 ARGB8888 等格式的图像进行混合渲染,因此特别适合作为图标等颜色数少但是素材丰富的应用.) o5 f0 V4 W6 }- {

  _- y/ J1 D2 ]- @2 G$ e7 w综上可以看出,采用 TouchGFX4.12.3+L8 格式 :
( L+ G7 h# v2 J$ H/ A) G3 ?% S/ V1 d  Q# p' G3 I

+ o2 m4 b" i; c; F$ \3 _1. 相比较 ARGB8888 像素格式, L8 大幅降低了资源文件的大小, 从而降低对存储芯片的需求 .& m- w* Z% H, |) T; e8 t' z
2. 同时由于图片像素信息大幅减少,读写一张图片的速度也大大提高, 也提高了系统实时性能.
0 a" d& b1 L0 J6 S* [9 H# E7 D! x! M0 Z; e9 S2 c

4 ~: o% F0 p0 V03处理3 C; o  e3 b2 ?/ j; d, n

2 o  \8 J1 g( D8 {( Y6 d7 a% e因此我们建议客户选择使用 TouchGFX4.12.3+L8 的功能,通过重新优化部分资源文件,减少图片资源的存储空间来实现客户的 UI 效果,并且改善了系统的实时性能.
& u/ q2 h* p3 e; u4 T" U
赞 收藏 1 评论1 发布时间:2021-6-23 15:14

举报

1个回答
xudongqiang 回答时间:2021-9-7 15:26:07
打卡,学习!% N! \5 E0 A5 W" E8 q$ v9 R7 j

所属标签

相似技术帖

官网相关资源

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