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

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

[复制链接]
STMCU-管管 发布时间:2021-5-31 17:37
客户在使用 TouchGFX开发 GUI应用的时候, 需要很多的图片资源来呈现友好的人机交互功能, 因此外扩了一个 FLASH来存储图片资源. 在软件研发后期发现现有的 FLASH存储空间不够, 因此提出是否可以使用 TouchGFX来减少图片资源的存储空间且实现同样的 UI效果.
" M: L' C& e5 m0 @
1.png

- G2 w# ^1 R: q% x" R) k% k8 J01调研
9 u' ~. M. s. r% G) B. v( O* _1 P7 N! G3 @/ O' a5 }8 j
, u- O. ]$ o2 ^/ @' c! A
# 在硬件方面
( C2 B- I7 @$ v. ]! x7 w" R
- j& y0 ?2 j9 t7 O5 K7 m* ?

# S. C% u4 L& }* qMCU 的图像处理加速器DMA2D 中的调色板的颜色格式 , 支持 L8 格式的图层之间的渲染:2 m8 h3 D. E4 S" }2 T8 j5 e7 s
2.png
1 F& P( z8 n2 G
# 从软件方面
  Q* {- E- ~1 |3 V8 b
5 E9 L+ P& _, w4 D8 P. O
; a; i7 L  o8 x2 a
最新的 TouchGFX4.12.3 开始, 可以利用了 DMA2D 的调色板功能对图片的资源进行优化 .
, F7 m1 n3 T' @- u6 I- p
9 M+ ~2 ^% [7 y9 d: j# 比如下图(宽 x 高=200x200) / S" {: v4 {6 q- x: y

6 q  s( M  v3 E/ m2 c" C

# }" v4 h9 q- {+ y1. 这幅图是由 256 种颜色组成的.
' S+ @  z3 c. w- }$ B5 k7 t5 ?2. 且每种颜色都针对图像进行了优化.
) g0 D2 F6 m/ F& O3. 256 种索引颜色中的每一种都是 24 位颜色.
0 ]' K& N* D7 R$ h
3.png
为了在 LCD 上显示这张图, TouchGFX Designer 在生成资源文件时,生成的资源文件大小:/ `" G3 Y# n, E. q: t  O) z  F) Z
+ J6 f! A3 }/ o# x, c1 ]

: y/ \6 n" C& ~' V  N' F- _1. L8_ARGB8888 :1 F  ~( F" {. B% s
200x200x1byte+256x4byte=41024bytes& ~, q3 {' w9 @

$ p" \5 B2 m$ [  q' r
* t2 l7 r/ o- _; R
=>200x200 个 8bit 的颜色索引+256 个 32bit% b% e) m" E) e/ e' U  V3 h
4.png
: b: Z. g+ l4 p0 J% U
# V: r" O! ]* i3 d7 R) X
2. ARGB8888 :
2 _- h" C! n- K200x200x4byte=160000bytes.
3 D& `  N0 \3 ~$ f=>200x200 个 32bit 的颜色
/ ]' `+ i( d) o. O" O$ v5 n
4 {  f$ x4 J: y2 H* Y. M$ |2 h* J  Y
0 G/ n" t1 @+ R: i  e- C
在 TouchGFX 中使用 L8 Image ,只需要将 L8 的图片拖入到 TouchGFX Designer 中,然后在Image 页面中选择正确的格式 :  J, W( f% S* f* I
5.png
9 [4 L3 _" `$ r/ u9 ]
注意 :如果图片超过 256 颜色,转换工具就会报错,因此可以使用图片工具(如
. b$ t' c/ |* m" T0 l- x' J, k/ }' e* \5 f4 D

" k) p- K. m1 Y4 m/ c% q$ M) m$ ]paint.net/imagemagick)将颜色数减少至少于 256 色 :- S! V7 Y: @/ V  G: }$ V

7 m4 |8 C& K: \# Y* L4 G' Q

7 j1 Y6 d; i  m# D  [6 [2 w" G Paint.net:1 P6 m& p6 r8 s1 u' @
6.png
Image Magick (www.imagemagick.org):
0 R9 l) n% t  m
7.png

- |& ^. G& A. k. s02结论+ s, U: U$ h9 z. G0 M+ d
% c) i2 z4 ?6 v7 g7 g* k+ q
6 }9 f0 e) @% k( S5 L$ I% O* q1 @
图像使用 L8 格式时占用的 flash 大小显著低于标准 24 位格式(RGB888)的原始图像。下表列出了这三种不同调色板格式的具体图像的 flash 使用情况(图片分辨率 200x200):
* ~3 ~6 E" c9 D, _. [% T; G" a
8.png
由于 TouchGFX 对于 L8 格式还可以支持 L8_ARGB8888,因此可以与 ARGB8888 等格式的图像进行混合渲染,因此特别适合作为图标等颜色数少但是素材丰富的应用.
, M+ ?# S0 |. i; d4 R  i# l* U; ?0 T0 r8 {9 g/ L

& ^; x  v8 o4 E! V综上可以看出,采用 TouchGFX4.12.3+L8 格式 :0 K' K( z$ d) u4 z' M; o( k

8 M3 U$ P; {# _9 v
. c# \# Q2 A5 z0 e/ R
1. 相比较 ARGB8888 像素格式, L8 大幅降低了资源文件的大小, 从而降低对存储芯片的需求 .- G& t. D7 L. [1 z7 V/ |  x% @
2. 同时由于图片像素信息大幅减少,读写一张图片的速度也大大提高, 也提高了系统实时性能.% o) g9 |. P# C8 b2 g" u
# c+ W5 O6 N3 `; S. D! f
03处理
2 L: }: r* T5 x2 p* E. m, q' L/ F. G, Y4 w( }3 i
因此我们建议客户选择使用 TouchGFX4.12.3+L8 的功能,通过重新优化部分资源文件,减少图片资源的存储空间来实现客户的 UI 效果,并且改善了系统的实时性能.4 H9 `8 O/ O$ k0 Q  `

5 Q, R2 l$ c# G) D; [( c
1 收藏 1 评论1 发布时间:2021-5-31 17:37

举报

1个回答
BEEE 回答时间:2021-9-14 21:08:25
学习
$ P7 \! `' b; i# E0 [* o1 e

所属标签

相似分享

官网相关资源

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