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

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

[复制链接]
STMCU-管管 发布时间:2021-5-31 17:37
客户在使用 TouchGFX开发 GUI应用的时候, 需要很多的图片资源来呈现友好的人机交互功能, 因此外扩了一个 FLASH来存储图片资源. 在软件研发后期发现现有的 FLASH存储空间不够, 因此提出是否可以使用 TouchGFX来减少图片资源的存储空间且实现同样的 UI效果.: D* W2 W+ m" ?, Y' @) a
1.png
. ]) @. w+ L$ T& ]
01调研0 M" W1 z3 ~4 q0 \; a% Z# Q
( h7 U+ c! `: M# h5 l0 e) [% J

9 m$ Z& ~6 `/ z8 C2 ^! f/ ?# 在硬件方面
6 \+ e: M1 h+ d5 q+ j$ t! x' y2 T1 v/ H# x+ o1 x
& R9 U3 t6 b# g, r0 I+ b) g
MCU 的图像处理加速器DMA2D 中的调色板的颜色格式 , 支持 L8 格式的图层之间的渲染:4 I5 ~6 V6 T: L7 n
2.png
3 r8 \) O+ @1 ~
# 从软件方面5 v. Q" Y. g8 ~9 y

2 y9 U4 g7 J) \5 M- j

0 X: S5 J# G- E. {* Y: t- v4 }最新的 TouchGFX4.12.3 开始, 可以利用了 DMA2D 的调色板功能对图片的资源进行优化 .
, ?6 z  M2 N* j$ L/ h3 X$ T" z
  g' Z' @9 x6 Q1 w: b8 {# U# 比如下图(宽 x 高=200x200)
) Q. \9 Q8 i7 A! S1 K
  y5 r* s- z9 {

1 z: ?3 Q& D, w9 g9 V. @1. 这幅图是由 256 种颜色组成的.5 x) L* L. D6 d. b3 O
2. 且每种颜色都针对图像进行了优化.- K% ~. C5 |/ t$ H# w
3. 256 种索引颜色中的每一种都是 24 位颜色.
7 g7 [- T# A# r( \; J/ L
3.png
为了在 LCD 上显示这张图, TouchGFX Designer 在生成资源文件时,生成的资源文件大小:
' F% F7 D5 G5 x$ t, g0 z1 x! \4 K- f" f

7 ?7 z! _$ _' L" d1. L8_ARGB8888 :9 [0 h/ @* p5 R' W) V
200x200x1byte+256x4byte=41024bytes! ^" N0 N) v( q4 p

' e, m7 g1 u2 G' y# v
1 ^, I2 l# w2 X- N
=>200x200 个 8bit 的颜色索引+256 个 32bit
% T1 E5 E+ G4 u. Z% f
4.png
7 X3 B. q& O) e8 d# A
) h, J5 |8 u( [" T. s9 N3 C
2. ARGB8888 :
; E/ W- A, V8 x6 }200x200x4byte=160000bytes.
! C, ^8 {2 l/ A; O( p=>200x200 个 32bit 的颜色0 g1 e% t3 o& s1 \2 D4 j

; w% f& a/ G) @, J* y) m
  i) Z5 |4 b1 f8 A7 e
在 TouchGFX 中使用 L8 Image ,只需要将 L8 的图片拖入到 TouchGFX Designer 中,然后在Image 页面中选择正确的格式 :
1 W& u) ]1 l# l( x' O  S
5.png

( c3 S( q* t6 j1 X. F5 k" Y注意 :如果图片超过 256 颜色,转换工具就会报错,因此可以使用图片工具(如; g9 l! t' G, \4 L# K# I- t3 {
* ?" x, C6 x8 }( q$ n) m# _
& K; O0 y" `% ~& Z+ y6 a7 h% i
paint.net/imagemagick)将颜色数减少至少于 256 色 :
0 Q# V! q  S8 l) {! [4 G9 ~
+ R$ F9 W$ P* R# W5 A3 f5 E
- X5 g( \/ e9 O4 N" y5 |6 R
Paint.net:7 Z& f) m8 V5 m; @/ b4 k
6.png
Image Magick (www.imagemagick.org):- O" t) U3 [1 c# F! L2 [3 C
7.png

3 I/ A' o+ r5 H. f6 o02结论! }6 G6 V1 M% t5 |% p' k
- @5 t8 v( [  e2 {% o1 P7 Q
7 b& `+ R/ _$ |; s# C: H
图像使用 L8 格式时占用的 flash 大小显著低于标准 24 位格式(RGB888)的原始图像。下表列出了这三种不同调色板格式的具体图像的 flash 使用情况(图片分辨率 200x200):
7 q% I) r; u+ X0 ]8 F# R" c
8.png
由于 TouchGFX 对于 L8 格式还可以支持 L8_ARGB8888,因此可以与 ARGB8888 等格式的图像进行混合渲染,因此特别适合作为图标等颜色数少但是素材丰富的应用.: i4 M: a8 \0 U$ i' q% k3 P4 u
; @" d' w1 ?- A0 Q/ E
, A  G6 ]8 k& L9 z5 L* ~
综上可以看出,采用 TouchGFX4.12.3+L8 格式 :
3 T. |5 M4 y, x$ `0 H% }: R/ ~
) k$ y' }& E; [
. p/ I: B- ?0 B/ v1 R  W
1. 相比较 ARGB8888 像素格式, L8 大幅降低了资源文件的大小, 从而降低对存储芯片的需求 .
& q2 [/ `8 ~1 F2 D  g6 r* ~1 x2. 同时由于图片像素信息大幅减少,读写一张图片的速度也大大提高, 也提高了系统实时性能.
" K% K# m  U" j$ ?2 D( m2 Z4 O. n9 u, H
03处理
  s+ B' F# y( y. ^
7 m" b! w! j1 w因此我们建议客户选择使用 TouchGFX4.12.3+L8 的功能,通过重新优化部分资源文件,减少图片资源的存储空间来实现客户的 UI 效果,并且改善了系统的实时性能.3 x: [8 R6 G$ A7 a  {
* D0 t2 z2 |" D3 u2 I3 X' o# |
1 收藏 1 评论1 发布时间:2021-5-31 17:37

举报

1个回答
BEEE 回答时间:2021-9-14 21:08:25
学习
2 L) D7 J1 L0 F% Q/ |: |" o% t5 q, l

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版