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

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

[复制链接]
STMCU小助手 发布时间:2023-6-18 14:37
前言$ a" G7 d, H- u5 e9 t
客户在使用 TouchGFX 开发 GUI 应用的时候, 往往需要很多的图片资源来呈现友好的人机交互功能, 因此外扩了一个 FLASH 来存储图片资源. 在软件研发后期发现现有的 FLASH 存储空间不够, 因此提出是否可以使用 TouchGFX 来减少图片资源的存储空间且实现同样的 UI 效果.
0 s3 B' R: o' G- q2 G3 v' b
1 调研 * h, `: a$ v. g
经过调研发现 :
7 H1 e0 b: p( D➢ 在硬件方面 :
2 }3 j8 o1 E  v+ \0 F& ~/ L5 sMCU 的图像处理加速器 DMA2D 中的调色板的颜色格式 , 支持 L8 格式的图层之间的渲染 :
$ a5 Z% ~; U# S: J
6 I; B7 ]3 a3 a& g6 J8 @6 D

8 P* U  K" D4 j1 r* i 5`2I`LCP[PZX%YGPQ`E}1X1.png
% W8 g, s; v8 ?' v; _# A+ s5 Z
* I! e8 {  ?% v5 R. G0 P
➢ 从软件方面:! n' O% J6 d+ `" c8 k8 \/ E
最新的 TouchGFX4.12.3 开始, 可以利用了 DMA2D 的调色板功能对图片的资源进行优化 .+ l$ u+ ~& n# k( {  x8 H0 r+ `6 C

; X/ w  p% g/ n( ?
➢ 比如下图(宽 x 高=200x200) :
. n" L+ d$ z* l3 l: k1.这幅图是由 256 种颜色组成的.9 l" T! D* d1 u7 K
2.且每种颜色都针对图像进行了优化.
% h6 C' e7 k8 y8 r( p- V" Q. Y, J3.256 种索引颜色中的每一种都是 24 位颜色.' v0 @# K; S% u6 o$ E% F
2 j( Q2 C' [2 W& ?8 T

' W& v2 i4 D1 B- m* m$ b7 R B(1T(1LG8)R21KL[Q6FQUTM.png
0 i- `8 q0 J+ [$ x! `
5 A0 d+ ?" [* A$ J& W4 B0 R9 F) q➢ 为了在 LCD 上显示这张图, TouchGFX Designer 在生成资源文件时,生成的资源文件 大小 :
" m0 B$ O" B2 I: g9 U1. L8_ARGB8888 :
# ]) x( |" p- [8 f, c% j/ t* |3 }$ t; R200x200x1byte+256x4byte=41024bytes
1 W' x% H; |! \# D→200x200 个 8bit 的颜色索引+256 个 32bit 的颜色
' C) S( s: o0 T2 q3 X) S
% K. m' B6 F( r/ t* f/ S) _

7 f2 |0 _6 }/ Y1 Y; L, _ N6OPZYM@6LQ)%U(E**[2A5.png
& V: X$ ?: q3 h* p1 ^3 P% ]& L2 T' t' A" Q8 B4 Y! |
2. ARGB8888 :
0 W& }8 [8 {8 E' Z* E- H200x200x4byte=160000bytes.
1 Z! q$ P% l5 L* g  [0 z→200x200 个 32bit 的颜色& ~7 B& t" ~# ?1 m" @
' X: d1 h3 t0 K- p5 j6 x
➢ 在 TouchGFX 中使用 L8 Image ,只需要将 L8 的图片拖入到 TouchGFX Designer 中,然后在 Image 页面中选择正确的格式 :0 g. \6 [$ A* \( ]: \% c
8 d) T# B7 g9 K. C# n
3 ]: [$ F% W. w' W1 k1 C
YR@7A[1R0V{)~{UWM8BUI%P.png ! h  W) O& `: v2 T/ d
4 U7 P5 h7 A  K2 u) U
➢ 注意 :如果图片超过 256 颜色,转换工具就会报错,因此可以使用图片工具(如paint.net/imagemagick)将颜色数减少至少于 256 色 :0 X. f6 u0 R$ }; ?
✓ Paint.net : : r+ x5 c5 {; l+ o" A
2 V+ N; c" m. N  w0 v
ULRN2FGPEA`{1(8(~F8(ZJS.png . E, {1 ^, \9 p
2 S9 e/ k1 P5 f3 Z- M

3 h* Z* L  f0 H3 M6 G- V- H- O; P2 结论 / n3 M% d8 O, A$ B  j3 }
图像使用 L8 格式时占用的 flash 大小显著低于标准 24 位格式(RGB888)的原始图像。下表列出了这三种不同调色板格式的具体图像的 flash 使用情况(图片分辨率 200x200):+ G3 y+ X, Y6 i; t
2 H+ o5 Z5 ]4 a4 [  q. |
7 h: _9 z. I* S9 p- ^: m6 e9 w( |
E]]06M9Q0LGDYQY0U73HC`3.png
3 G9 _# L+ E3 ?7 [

' D9 k8 G# F1 l$ ^; p; t5 L由于 TouchGFX 对于 L8 格式还可以支持 L8_ARGB8888,因此可以与 ARGB8888 等格式的图像进行混合渲染,因此特别适合作为图标等颜色数少且素材丰富的应用.
0 L$ @4 {# y" T# |综上可以看出,采用 TouchGFX4.12.3+L8 格式 :
, [! f2 U7 a* B+ M4 G2 ^1.相比较 ARGB8888 像素格式, L8 大幅降低了资源文件的大小, 从而降低对存储芯片的需求 .
6 H" g6 r8 i* H& M2.同时由于图片像素信息大幅减少,读写一张图片的速度也大大提高, 也提高了系统实时性能.  ~, w" i0 ]+ L
8 w* M# m( b7 _: E5 [6 Y; F- m
8 G" r, S4 k2 O) ?
完整版请查看:附件$ `4 B5 t% s8 D+ ]7 M

/ V0 z3 `' I' e- y 使用TouchGFX4.12.3和L8格式减少图片资源以提升性能.pdf (418.83 KB, 下载次数: 0)
赞 收藏 评论0 发布时间:2023-6-18 14:37

举报

0个回答

所属标签

相似技术帖

官网相关资源

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