ST意法半导体
直播中

李鑫

8年用户 1418经验值
私信 关注
[问答]

具有数千个.PNG的动画图像会降低TouchGFX Designer的速度,要怎么处理这种情况?

我正在开发配备 STM32H753 和 LCD (320x240)、16 MiB SDRAM(可用于缓存的大约 13 MiB)和 SD 卡(SDMMC 接口)的设备,它们也将用于存储 TouchGFX 的图像。
在某些情况下,设备会显示一些动画。最初我们认为动画将存储为 .PNG 序列并使用 AnimatedImage 小部件。图像的数量取决于给定的动画,但假设这将是至少一千个 PNG。在加载几乎所有 PNG 并通过 TouchGFX Designer 进行“索引”后,它会减慢到无法使用的状态。为图像生成的源文件 (.cpp) 大小约为 2.5 GB。我们希望 TouchGFX 能够识别每个 .PNG 以生成 ID 并将每个用于缓存(我们认为并非所有图像都适合 SDRAM 以实现完整缓存)。这样做的第二个原因是一个统一的程序来提取带有位图的二进制文件并将其用于外部加载器(TGX 对所有图像使用特定的链接器部分)。
遇到上述问题后,我认为我们需要重新设计播放动画的方法。所以我正在寻找一些实用信息、指南和一些具有类似用例的演示。








回帖(1)

王文雨

2023-2-8 10:42:50
很遗憾听到设计师在处理这么多图像时遇到性能问题。作为临时修复,手动编写这段代码应该没有问题。我不希望这个组件改变那么多,对吗?只需将代码复制到 gui/ 文件夹中的具体子类。TouchGFX 仍然会生成 ID,只要图像在资产文件夹中(它们是)——例如,设计者“秘密地”调用框架中的核心工具,这些工具与我们的 makefile 调用的相同。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分