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

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

[复制链接]
STMCU小助手 发布时间:2023-6-18 14:37
前言
4 d7 W3 Q, z1 b: [' z7 L4 R% L客户在使用 TouchGFX 开发 GUI 应用的时候, 往往需要很多的图片资源来呈现友好的人机交互功能, 因此外扩了一个 FLASH 来存储图片资源. 在软件研发后期发现现有的 FLASH 存储空间不够, 因此提出是否可以使用 TouchGFX 来减少图片资源的存储空间且实现同样的 UI 效果.
: B, b# L2 k/ y/ o
1 调研 # q/ O4 x( c+ E/ V
经过调发现 :4 _/ N; V; v2 j; \! l1 S, f
➢ 在硬件方面 :- |2 B& y9 f  C" h
MCU 的图像处理加速器 DMA2D 中的调色板的颜色格式 , 支持 L8 格式的图层之间的渲染 :% b5 o9 P3 R8 _
& W. S6 m, Q: Y) N. O7 X9 C

* r5 D0 h. Y; d* B7 p 5`2I`LCP[PZX%YGPQ`E}1X1.png : d) W& y7 Z: {; ~; H# a# c
2 H1 J% Z2 K4 G0 ]
➢ 从软件方面:
+ Z( [# Q, n8 \7 t( W3 u最新的 TouchGFX4.12.3 开始, 可以利用了 DMA2D 的调色板功能对图片的资源进行优化 .6 V: i) ^& E1 k

5 x: C1 ~* |% N, i& W! Y- t
➢ 比如下图(宽 x 高=200x200) :% R7 X6 V) t+ b, H( O* ?% @1 F
1.这幅图是由 256 种颜色组成的.
: p6 J4 O; a. M# u& w2.且每种颜色都针对图像进行了优化./ Z' r3 d3 e# \# b
3.256 种索引颜色中的每一种都是 24 位颜色.
2 V7 o: O$ k6 x/ r
. |7 J( N: u3 }- O& j; x
1 B( i  L# E* |# V
B(1T(1LG8)R21KL[Q6FQUTM.png
" u; g* k+ J- f5 P1 x
4 ~! w2 J' P# u5 \- m! z( G; a➢ 为了在 LCD 上显示这张图, TouchGFX Designer 在生成资源文件时,生成的资源文件 大小 :
  [" D$ B2 m1 L+ u1 y0 g# D+ B1. L8_ARGB8888 :* _* V3 _8 D3 ?3 m& D5 ?; h
200x200x1byte+256x4byte=41024bytes' y) S, H8 ~! d- L. A' O
→200x200 个 8bit 的颜色索引+256 个 32bit 的颜色
6 E  y* Q  K: `5 q1 Z) a
/ U7 ]# |" ~9 m' h1 m# |' n
4 y6 c8 Z" \. B1 c* C
N6OPZYM@6LQ)%U(E**[2A5.png
6 j) D) ]9 x& z
, s0 A: _+ W8 R6 V
2. ARGB8888 :7 H5 {. N9 h' y- J: G  C
200x200x4byte=160000bytes.
' e8 y. f# e# h! j( d7 K→200x200 个 32bit 的颜色
' r2 a, Q! t9 n4 Z% h
" T7 |5 v% s6 D* q, G9 `
➢ 在 TouchGFX 中使用 L8 Image ,只需要将 L8 的图片拖入到 TouchGFX Designer 中,然后在 Image 页面中选择正确的格式 :
( _% I) j( L+ {- `/ w
2 d, U- K  M3 r" Y- {
& \% |7 s. m7 i! h1 c
YR@7A[1R0V{)~{UWM8BUI%P.png / p8 a. [7 P( ^- J7 Y0 d7 ]
( B# X8 t# K3 Y0 O- s" ]; q
➢ 注意 :如果图片超过 256 颜色,转换工具就会报错,因此可以使用图片工具(如paint.net/imagemagick)将颜色数减少至少于 256 色 :
% p* X$ b& r/ J0 T3 q9 J4 Q, B✓ Paint.net :   u- ?9 u& z& h* S( j

! |, P* d- k+ F; k3 d7 K ULRN2FGPEA`{1(8(~F8(ZJS.png
+ F2 t9 ~, \) k! G; j   p" `5 `; `0 @& C* c: f, a
4 P( ^, E$ X" e
2 结论
: Q4 d: e7 o1 D1 {图像使用 L8 格式时占用的 flash 大小显著低于标准 24 位格式(RGB888)的原始图像。下表列出了这三种不同调色板格式的具体图像的 flash 使用情况(图片分辨率 200x200):# M4 q. Q" {* v1 y
8 Z! W$ R; U" X
8 d% R1 w& N  g8 V5 L0 B
E]]06M9Q0LGDYQY0U73HC`3.png ( D5 |9 z- @' R0 d8 n! j8 u) c

# O  G5 s) a# c由于 TouchGFX 对于 L8 格式还可以支持 L8_ARGB8888,因此可以与 ARGB8888 等格式的图像进行混合渲染,因此特别适合作为图标等颜色数少且素材丰富的应用.
7 k$ ?& m2 r7 ?7 W% U6 }综上可以看出,采用 TouchGFX4.12.3+L8 格式 :
, i% U4 D3 h5 R& }( E9 U( i1.相比较 ARGB8888 像素格式, L8 大幅降低了资源文件的大小, 从而降低对存储芯片的需求 .6 k! }' k0 `- T
2.同时由于图片像素信息大幅减少,读写一张图片的速度也大大提高, 也提高了系统实时性能.
0 y  b0 n" j) x* K
# ?& N, Y6 m* H. p4 C' N: Q" v
: _; E0 {0 x/ X7 g. y3 s完整版请查看:附件6 F. R: s, R+ U) B7 @' G/ @

9 T% c# I9 z- v 使用TouchGFX4.12.3和L8格式减少图片资源以提升性能.pdf (418.83 KB, 下载次数: 0)
收藏 评论0 发布时间:2023-6-18 14:37

举报

0个回答

所属标签

相似技术帖

官网相关资源

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