swm34s内置8MB的SDRAM。裸机情况下,直刷图片速度还是很拉风的,至少可达到60帧。
移植lvgl8.3后,在官方评估板平台测试帧率,显示屏设置为640*480(同工程上需要的分辨率),采用整屏双缓冲,考虑到需要旋转,缓冲1作为lvgl的画图区,
缓冲2作为显示区。如果不需要旋转,直接拷贝,如果需要旋转,旋转后拷贝到缓冲2.其中:
1-全屏拷贝时间:13ms(不采用DMA2D,因为速度大于直接拷贝)
2-旋转拷贝时间:33ms
跑benchmark例程。结果如下(RGB565格式)
1-不旋转。实测加权FPS=20帧。
2-旋 转。实测加权FPS=14帧。
也就是说:lvgl本身的画图区填充时间=50ms-13ms=37ms。
有些时候,传统的贴图方案或许是更好的选择。对比一下贴图方案的流程以及时间开销。
第一步:拷贝素材图片文件到SDRAM。小图片可以考虑开机后单次拷贝,大图片考虑实时拷贝。整屏jpg文件解码时间约为13ms。
第二步:组织画图区内容。这一步同lvgl的画图时间(37ms)。不采用DMA2D而是直接拷贝,整屏最大时间也是13ms。
第三步:旋转后写入显示区,时间开销33ms
最坏的情况=13+13+33=59ms
最好的情况=13ms(无读图,无旋转)
一般的情况=13+37=50ms(图片已预读到SDRAM,需要旋转)
|