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

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

[复制链接]
STMCU-管管 发布时间:2021-6-23 15:14
客户在使用 TouchGFX开发 GUI应用的时候, 需要很多的图片资源来呈现友好的人机交互功能, 因此外扩了一个 FLASH来存储图片资源. 在软件研发后期发现现有的 FLASH存储空间不够, 因此提出是否可以使用 TouchGFX来减少图片资源的存储空间且实现同样的 UI效果.9 @: ?/ Y# w) P  _
21.png
/ D8 c/ |& p3 A& ?! a4 i
01调研
  A& V, I! e2 b- R( l- [% ^* [
; k7 e3 y1 S- Z/ f' i, d
# 在硬件方面
3 E) D" R  M' ?7 c# ~# EMCU 的图像处理加速器DMA2D 中的调色板的颜色格式 , 支持 L8 格式的图层之间的渲染:$ K. W7 \$ O" D7 s* i2 s- z
22.png
' B4 g1 d% G4 m) f
0 g1 D# e6 R3 W' ~
# 从软件方面
  @6 ~( r4 n! I8 n" ~6 y最新的 TouchGFX4.12.3 开始, 可以利用了 DMA2D 的调色板功能对图片的资源进行优化 .2 O- t$ m2 m( q: `

0 |2 k9 b8 l: ?0 ^/ T# 比如下图(宽 x 高=200x200)
. t" G% q& I- ]+ v, [9 W; W. d& s' J/ o5 Z5 N

/ L- A/ n& l& b* p& C1. 这幅图是由 256 种颜色组成的.
2 C' u; x% t% Z0 }9 k4 ~) }2. 且每种颜色都针对图像进行了优化.$ a5 P2 ~6 N4 \9 V4 k
3. 256 种索引颜色中的每一种都是 24 位颜色.
0 s# x1 y  }; H, X6 q
23.png
6 ]; H0 J) ?) Z/ v; D0 B2 s
为了在 LCD 上显示这张图, TouchGFX Designer 在生成资源文件时,生成的资源文件大小:7 E6 V$ @; @0 t# H8 @

7 e! `  C2 m' A. {/ \$ r! U

( L  G; e1 t- R. B# ^, k' c1. L8_ARGB8888 :
# S" c7 B+ ^+ o& M7 W/ e" }( W$ m200x200x1byte+256x4byte=41024bytes
  g2 U- Y5 t1 B9 h3 J: A=>200x200 个 8bit 的颜色索引+256 个 32bit5 {! [) I8 ~& n% @, k6 o
24.png

1 r% b- n3 N' ^6 c; c2. ARGB8888 :
% S' O0 A& U9 ^5 [( c200x200x4byte=160000bytes.
$ a  f! m6 W, d4 D6 \1 K=>200x200 个 32bit 的颜色6 J6 s6 e* H9 \$ Y; j9 S
1 F- t) T! c( J; e2 n; q0 j

. z! c- f5 t- s1 d( m# V在 TouchGFX 中使用 L8 Image ,只需要将 L8 的图片拖入到 TouchGFX Designer 中,然后在Image 页面中选择正确的格式 :
/ z- a6 a9 M; y" k4 R% p$ R
25.png

& R3 D, |% C5 k  N% p1 X8 n" s8 p
+ d: x# H5 Z% M4 l0 p. x3 B! c* Q注意: 如果图片超过 256 颜色,转换工具就会报错,因此可以使用图片工具(如+ L, q2 K' y9 q8 {' z& `% d

: L; @' h- {3 Y
/ n' Y) n% a* e' Q# e3 g
paint.net/imagemagick)将颜色数减少至少于 256 色 :' K0 `! {# D6 j( m8 p7 M
0 M+ f$ u( H/ x8 W
( a( [# }: A, B% F
Paint.net:: _* B/ g8 H- a" ~9 c- j
26.png

6 i3 D4 q7 ]) l4 c. k' PImage Magick (www.imagemagick.org):
# r4 g/ r; l+ ]9 i
27.png
# A5 w( {  U$ l7 K: \
- Y. }0 Q5 V4 d, W" h7 L. p6 v. a
02结论
+ u; }- U0 [7 @8 w, O# Y
3 |* H2 _% w" {# \
% w# y9 z0 B& ^; X$ ^: [
图像使用 L8 格式时占用的 flash 大小显著低于标准 24 位格式(RGB888)的原始图像。下表列出了这三种不同调色板格式的具体图像的 flash 使用情况(图片分辨率 200x200):+ N* G5 f7 R0 ?# H0 x$ s2 i0 v$ o2 I
28.png
) q+ w! V  n: C  T* _2 E* X* e# k
由于 TouchGFX 对于 L8 格式还可以支持 L8_ARGB8888,因此可以与 ARGB8888 等格式的图像进行混合渲染,因此特别适合作为图标等颜色数少但是素材丰富的应用.
, O3 J! Q) s0 \, F' A, m8 ?4 N/ l2 H+ S8 J$ S
综上可以看出,采用 TouchGFX4.12.3+L8 格式 :' v* _& v. y  b
$ d+ W# c+ I! g
1 h$ g' P( H$ u4 L, ]/ a
1. 相比较 ARGB8888 像素格式, L8 大幅降低了资源文件的大小, 从而降低对存储芯片的需求 .
# D  B, Y( y8 p3 N+ `. L2. 同时由于图片像素信息大幅减少,读写一张图片的速度也大大提高, 也提高了系统实时性能.7 l8 M$ B$ Y; Z1 @

8 f; s5 C2 \- h% ?6 V
3 s0 l' b' G3 ^1 i) d0 h: O
03处理1 q8 j; g0 k: M# T3 D
$ g* ^4 h$ ]) P- D6 E! ~" l
因此我们建议客户选择使用 TouchGFX4.12.3+L8 的功能,通过重新优化部分资源文件,减少图片资源的存储空间来实现客户的 UI 效果,并且改善了系统的实时性能.. m, v! p6 C  m  m# Y' u$ w% o
赞 收藏 1 评论1 发布时间:2021-6-23 15:14

举报

1个回答
xudongqiang 回答时间:2021-9-7 15:26:07
打卡,学习!
& K, r' ]$ i( P4 l8 X' |% ]( B

所属标签

相似技术帖

官网相关资源

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