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

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

[复制链接]
STMCU小助手 发布时间:2023-6-18 14:37
前言; m  \& U; n* b8 C. H) X) e
客户在使用 TouchGFX 开发 GUI 应用的时候, 往往需要很多的图片资源来呈现友好的人机交互功能, 因此外扩了一个 FLASH 来存储图片资源. 在软件研发后期发现现有的 FLASH 存储空间不够, 因此提出是否可以使用 TouchGFX 来减少图片资源的存储空间且实现同样的 UI 效果.3 p2 H* G0 t" }7 F
1 调研 : i* |* \1 C: b- a2 K
经过调研发现 :
4 n$ R! |1 i+ j. L➢ 在硬件方面 :. o; j$ y2 v% Q$ I4 F- p: y
MCU 的图像处理加速器 DMA2D 中的调色板的颜色格式 , 支持 L8 格式的图层之间的渲染 :6 v* i6 Z3 P3 w/ }, a$ E# u
* _9 j. ^3 w  q& e# A9 m" N# ?
1 g! R+ f9 ?5 x' [/ t. g
5`2I`LCP[PZX%YGPQ`E}1X1.png 5 W. l# B+ W' e3 H9 z8 o0 L( ]
4 A  a& h. k* i, t' m  x% d# X9 f6 M
➢ 从软件方面:
+ D9 J: `6 m5 _: W: a最新的 TouchGFX4.12.3 开始, 可以利用了 DMA2D 的调色板功能对图片的资源进行优化 ., W6 M1 t8 e0 \* B

0 D& ]' N$ |. B: z8 {5 q6 ]
➢ 比如下图(宽 x 高=200x200) :. ]9 j) E) ]( l1 g  O" f! N8 V
1.这幅图是由 256 种颜色组成的.( ]( i! k7 ]3 h" U0 X
2.且每种颜色都针对图像进行了优化.
+ E. I" w  |( p+ J. x  [, X$ @3.256 种索引颜色中的每一种都是 24 位颜色.
' M# K+ Z5 N  `' x' m  u/ U
/ }7 F! W4 X, l# G

4 t9 e5 c  \0 |3 c  D- j B(1T(1LG8)R21KL[Q6FQUTM.png
* Z& p* A6 o6 w3 A( V' V7 w! z% v, d7 H- V8 H  ]* L; t
➢ 为了在 LCD 上显示这张图, TouchGFX Designer 在生成资源文件时,生成的资源文件 大小 :  k  D# [  Y: @; @
1. L8_ARGB8888 :8 m1 J% h7 t) s- U* d! ~
200x200x1byte+256x4byte=41024bytes
8 `. a( K( _* p/ h  f/ U9 N, `! l→200x200 个 8bit 的颜色索引+256 个 32bit 的颜色0 y4 C# J8 U& y2 U7 w& w/ R
- v) [9 `! J/ W1 w1 ?

: l9 q% y2 A* Y% ~$ E1 | N6OPZYM@6LQ)%U(E**[2A5.png 0 P/ C5 \$ ?1 S, K1 @4 a4 x- m
7 o9 f  B1 \# c7 @
2. ARGB8888 :6 j$ y" \+ d. I& n1 V- Y. P
200x200x4byte=160000bytes.! `1 y# \& y/ U5 j. ?0 _% T( G( `
→200x200 个 32bit 的颜色
1 A/ z: y4 _9 ^
  b0 v5 F- P  ~; J0 y0 g4 m1 J
➢ 在 TouchGFX 中使用 L8 Image ,只需要将 L8 的图片拖入到 TouchGFX Designer 中,然后在 Image 页面中选择正确的格式 :* {: u5 f: {$ N/ b, c$ N

* W- E+ J2 T8 x0 R

* m3 b, Y$ p- k YR@7A[1R0V{)~{UWM8BUI%P.png 5 X% [' @& p; e+ p+ p# r+ _
9 R' A, U) |# `* M' U" N
➢ 注意 :如果图片超过 256 颜色,转换工具就会报错,因此可以使用图片工具(如paint.net/imagemagick)将颜色数减少至少于 256 色 :" @: f; z3 S* Q0 }7 R5 r
✓ Paint.net : ( w7 ^/ b3 o/ \5 A5 W) R

6 M4 U/ j8 J( W) j0 g: _ ULRN2FGPEA`{1(8(~F8(ZJS.png
3 w8 i- Q0 r% X7 U2 B 4 c$ |6 L) L, r0 z
: f: F, E* F5 s% Y% s
2 结论
( X+ w* `& v: g6 n& S: h7 K图像使用 L8 格式时占用的 flash 大小显著低于标准 24 位格式(RGB888)的原始图像。下表列出了这三种不同调色板格式的具体图像的 flash 使用情况(图片分辨率 200x200):
) W  v6 q) ~3 `; j6 Z" q- I  j% w. U
- U6 r/ D: t' v  I% c9 F. o7 C3 K/ T4 d
- O, J& P) B; O, G5 a' T- Q
E]]06M9Q0LGDYQY0U73HC`3.png - _2 a3 [6 h) t% N

6 a- I5 y+ {4 _, H2 }7 Y. k& {由于 TouchGFX 对于 L8 格式还可以支持 L8_ARGB8888,因此可以与 ARGB8888 等格式的图像进行混合渲染,因此特别适合作为图标等颜色数少且素材丰富的应用.- _& ?: H" Z* a' E- X' G7 r
综上可以看出,采用 TouchGFX4.12.3+L8 格式 :
  C* W, k, E1 b" [/ A- |* G4 Q6 N2 s4 a1.相比较 ARGB8888 像素格式, L8 大幅降低了资源文件的大小, 从而降低对存储芯片的需求 .
( a8 V, E5 w9 D" T2.同时由于图片像素信息大幅减少,读写一张图片的速度也大大提高, 也提高了系统实时性能.
; f; O; Y- ?+ @5 n+ |/ a
  T+ c; D* c# k( ]! b9 c2 F( I5 \6 y5 P5 j* V9 g8 E3 {
完整版请查看:附件; Q  z- y/ z8 p  }% T0 t

# F- l) l  x9 d2 K3 |. R- g 使用TouchGFX4.12.3和L8格式减少图片资源以提升性能.pdf (418.83 KB, 下载次数: 0)
赞 收藏 评论0 发布时间:2023-6-18 14:37

举报

0个回答

所属标签

相似技术帖

官网相关资源

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