feat(lcd): animate fortune results with shared GFX layers

This commit is contained in:
chenjintao
2026-10-10 11:36:54 +08:00
parent bf06618848
commit ee32b4d63f
26 changed files with 3063 additions and 11 deletions
+51 -1
View File
@@ -419,7 +419,57 @@ PNG 包仍为 820,125 B、75 PNG/32 Opus;只读资产已包含于整个应用
内部/DMA 专用缓冲及静态可写数据均为 0;复用既有 HUD 和行缓冲。
局部栈、CPU 耗时和设备最低内存尚未新增实机测量,不应写成整体资源零成本。
## 维护与后续清理
## 新增抽签分层资产(2026-10-10)
以下新增项不合并进上面的历史目录汇总。旧抽签十八张源 PNG 共 372,012 B、
优化 PNG 共 136,226 B,全部保留且后备仍入包。PNG 包仍 820,125 B,不重复
加入本次拆分层。生成器使用优化 PNG 保存拆分层,但实际编译 LZ4,不是 RLE。
图层目录:`components/platform/assets/lcd_layers/chouqian/`。
| 图层 | 尺寸 | 优化 PNG B | 本机分配 B | RGB565+A8 B | LZ4 载荷 B |
| --- | --- | ---: | ---: | ---: | ---: |
| `pile.png` | 208×76 | 9,594 | 12,288 | 47,424 | 9,417 |
| `back.png` | 63×113 | 2,999 | 4,096 | 21,357 | 4,179 |
| `edge.png` | 41×110 | 2,957 | 4,096 | 13,530 | 4,389 |
| `front.png` | 100×190 | 7,579 | 8,192 | 57,000 | 10,774 |
| `question.png` | 27×50 | 730 | 4,096 | 4,050 | 817 |
| `rod.png` | 169×56 | 1,584 | 4,096 | 28,392 | 2,094 |
| `text_buyun.png` | 48×104 | 2,502 | 4,096 | 14,976 | 2,638 |
| `text_heping.png` | 48×104 | 2,784 | 4,096 | 14,976 | 2,851 |
| `text_shangshang.png` | 48×104 | 2,132 | 4,096 | 14,976 | 2,069 |
| `text_xiaoji.png` | 48×104 | 2,091 | 4,096 | 14,976 | 2,210 |
| `text_zhongshang.png` | 48×104 | 2,094 | 4,096 | 14,976 | 2,109 |
| 合计 | 十一图层 | 37,046 | 57,344 | 246,633 | 43,547 |
`layout.json` 1,929 B、分配 4,096 B,不入固件;目录共十二文件 38,975 B、
分配 61,440 B。预览工具默认输出 `/tmp/lucky-fortune-preview`,不是编译资产。
源十八 PNG 与本次拆分层不是相同数量的无损比较;背景/几何做了小幅性能适配。
LZ4 对转换后的 RGB565+A8 无损且完整保留 Alpha,但比拆分 PNG 多 6,501 B,
不能称为压得最小。生成器及实际 C 解码均做往返校验,原旧 PNG 不覆盖。
生成 C:`components/platform/src/generated/emote_gfx/fortune_assets.c`,文本
270,251 B、分配 270,336 B;目标对象只读段总计 43,831 B(载荷、176 B 资产
描述、20 B 目录指针、88 B 目录名),可写 data/BSS 为 0。生成 C 不手改。
本次完整应用 3,157,728 B,较 HUD 提交 3,105,872 B 增加 51,856 B,包含
资产、几何/解码、播放与 UART 显示测试命令的代码及对齐;单 OTA 槽余量
1,560,864 B。所有只读资源已经包含在应用里,不能再相加。
六共享层解压 171,753 B、一次仅选一份签文 14,976 B、208×220 RGB565
局部光栅缓冲 91,520 B,像素峰值合计 278,249 B PSRAM;目标编译器场景
描述 148 B 也在 PSRAM,明确申请峰值 278,397 B,不含堆管理。
正常结束/取消后释放,新增常驻像素为 0。临时 GFX 图片对象/状态/链节点
普通堆请求合计 96 B,不含分配器;LCD 静态可写数据增加 4 B 指针,
无新增内部/DMA 缓冲、合成整屏缓冲或任务;局部栈/CPU/实际最低余量另测。
解绑故障时保留绑定资源到重启,不冒充完整释放。
五签主机回归、IDF 5.5.4、日志关闭/GFX 关闭编译与应用烧录校验通过。
设备启动确认缓存成功、25 秒采样无显示锁/传输/崩溃错误;未捕获抽签运动
日志,FPS/五签观感/并行负载最低内存仍待实机验收。详见
[抽签开发说明](抽签分层动画开发说明.zh-CN.md)。
## 维护与后续清理(通用)
1. PNG 新增/替换按 [图片优化流程](lcd-image-asset-optimization.zh-CN.md) 生成并验证,
不能编辑优化产物代替修改源图。GFX 新增/替换使用对应压缩脚本和编码往返测试。