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

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

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

% l! h' x! }/ E0 n$ J3 J* Y01调研2 g# |. w' D% f9 T
) d" ~% H8 d1 U2 f# g4 ]  H  F$ q

4 c7 I8 _0 o) P5 k$ N/ t# 在硬件方面
9 d* e6 _: Z1 {3 |1 Y( C% s2 A6 O6 A; k! `  }* g
) u% f! _' A; |+ }
MCU 的图像处理加速器DMA2D 中的调色板的颜色格式 , 支持 L8 格式的图层之间的渲染:
& l# i6 T: y5 s
2.png
6 [. ~" z& z% R
# 从软件方面
* P  A7 p1 f' X+ B* ~7 l4 n3 E( q. B
9 \( j3 Z/ a* [, r) D- T9 p

: T0 }8 G7 q0 X+ m5 _. v最新的 TouchGFX4.12.3 开始, 可以利用了 DMA2D 的调色板功能对图片的资源进行优化 .
) C+ V, X& r( X5 V' U
7 p. ^% X9 z, E1 R6 E# 比如下图(宽 x 高=200x200)
3 M0 X- C: D8 O( @: a% m  Y( X& U# w4 s. T

  C, s% X5 P  I: R8 P1. 这幅图是由 256 种颜色组成的.
6 N4 T5 _, v* {  \( b7 e2. 且每种颜色都针对图像进行了优化.
" G2 O7 p% Z1 |& l3. 256 种索引颜色中的每一种都是 24 位颜色.+ N3 z* S# ^% W2 ]
3.png
为了在 LCD 上显示这张图, TouchGFX Designer 在生成资源文件时,生成的资源文件大小:
- \- ]1 h! m$ f
; ]! y; s7 R! p& E) h0 r

2 u) |# d0 b- n# Y2 I1. L8_ARGB8888 :" j# q0 \% s7 u, i/ W% M5 u
200x200x1byte+256x4byte=41024bytes: _( f" c0 [) K3 N% N* b
2 e! G! F2 s8 s& [6 D! ]! |

, _+ c5 |1 y* A/ _=>200x200 个 8bit 的颜色索引+256 个 32bit
$ ]7 q; q$ Z3 Y# g3 y+ x: Q
4.png
$ t& h9 Q% |, _1 J# d) t
. s8 b5 c6 \5 j7 W8 l/ X' m  h( [
2. ARGB8888 :
) F, i0 b. ^# A. r! q200x200x4byte=160000bytes.; n" c0 R7 M6 K8 ]
=>200x200 个 32bit 的颜色9 P+ K$ H- p0 _6 F2 G+ }7 K9 a+ F
6 ~" ~# ^9 `: C

0 u2 ^# E6 q$ K, \/ l在 TouchGFX 中使用 L8 Image ,只需要将 L8 的图片拖入到 TouchGFX Designer 中,然后在Image 页面中选择正确的格式 :" L9 `* R; e# P: L, z- X( }6 i
5.png

$ {0 o: w) ?( L/ Y/ k/ Q% [0 T( z; s注意 :如果图片超过 256 颜色,转换工具就会报错,因此可以使用图片工具(如; I+ S, c0 G4 u  b9 |
+ [. l: i  [1 I4 }$ ?
( G+ M4 X( \/ [" L/ }' w) k
paint.net/imagemagick)将颜色数减少至少于 256 色 :; ]$ ^1 M4 K% r& V2 e) X  Z' n' i( I
9 c9 C, n, H2 M9 S* C

  k6 u' V0 M9 ?/ z! z Paint.net:- h, V: L& y% O
6.png
Image Magick (www.imagemagick.org):
& C/ R/ J( e0 I) @* `* p8 X
7.png

' y; y8 O! E6 y1 d' ~02结论9 ~  V8 j( ^7 v6 R
& S, Q% ?' O  Z. u6 i+ B
0 b, S. S$ a' \- h
图像使用 L8 格式时占用的 flash 大小显著低于标准 24 位格式(RGB888)的原始图像。下表列出了这三种不同调色板格式的具体图像的 flash 使用情况(图片分辨率 200x200):
& t8 f9 ?9 u! u1 W9 m, h( v3 X# J
8.png
由于 TouchGFX 对于 L8 格式还可以支持 L8_ARGB8888,因此可以与 ARGB8888 等格式的图像进行混合渲染,因此特别适合作为图标等颜色数少但是素材丰富的应用.
  Q% x8 @! J4 B  L- n: u/ U/ o; @) |) v9 L1 i" E

1 I" I" A2 j& P1 a6 `% \综上可以看出,采用 TouchGFX4.12.3+L8 格式 :
* X; b8 _% ~) K  F% o% _! J# b9 C4 D, E; O

; R& S6 O! S' V1. 相比较 ARGB8888 像素格式, L8 大幅降低了资源文件的大小, 从而降低对存储芯片的需求 .
, j: T( ]7 f# f2. 同时由于图片像素信息大幅减少,读写一张图片的速度也大大提高, 也提高了系统实时性能.
* L3 k3 x' q8 E) Y  {, s4 g! u7 w; y, c3 s" u, x# Q0 z8 A
03处理
4 q5 K9 g6 X7 O8 K+ s- H4 U! H) ~, i0 @1 c" D1 a
因此我们建议客户选择使用 TouchGFX4.12.3+L8 的功能,通过重新优化部分资源文件,减少图片资源的存储空间来实现客户的 UI 效果,并且改善了系统的实时性能.3 s0 d9 W/ i; }$ t5 a

! k' C/ c' r% Q& p( g1 Z; `
1 收藏 1 评论1 发布时间:2021-5-31 17:37

举报

1个回答
BEEE 回答时间:2021-9-14 21:08:25
学习
9 Y: d, g# O  T: c/ l

所属标签

相似分享

官网相关资源

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