
前言
之前做了 ESP32-S3 上常见 JPEG 解码库(Tjpg_Decoder、JPEGDEC、ESP_NEW_JPEG)的性能测试,最终结论是 ESP_NEW_JPEG 在此前测试中表现最强(见 ESP32-S3 + Arduino 各种 JPEG 解码库速度对比,到底哪个才是最快的?、勘误:ESP_NEW_JPEG 更新到最新版后,所有分辨率都是最快的)。
但是上次是用的静态图片,每次解码都是同样图片数据,与真实使用场景会有差异,毕竟如果是使用 ESP32-S3 播放视频,每一帧的内容都是不一样的,解码时间也会有波动。
这次直接从视频里抽帧,模拟一下真实视频播放场景,看看在这个条件下能把 FPS 推到多高。
另外上次测试时也没有优化解码与传输步骤,理论上可以使用 DMA 实现 CPU 时间更有效的利用,这次也优化一下代码,对比看看效果。
那么这次测试在以下两个条件下,最终结果会如何?
- 图片数据使用真实视频抽帧,每帧内容不同,更接近播放场景;
- 加入 DMA 和 Block 合并策略,测试“解码”和“上屏”能否真正并行。
先说结论:在 240×240 + RGB565 + SPI 40MHz 的配置下,最终逼近链路上限,实测约 40 …
阅读全文 »

近期评论