硬汉嵌入式论坛

 找回密码
 立即注册
查看: 484|回复: 10
收起左侧

[emWin] 请教emWIn的效率

[复制链接]

24

主题

122

回帖

194

积分

初级会员

积分
194
发表于 2023-8-17 14:04:27 | 显示全部楼层 |阅读模式
用的国产的swm34s做测试。裸机刷jpg图片速度很快。

移植lvgl跑widgets小组件demo,测试发现帧率很低只有10帧。不太实用。估计是除了固有的SDRAM访问速度外,也很吃算力。

剩余的方案有两个
1-全贴图,借助MCU本身的硬件jpg解码和双图层,24位色条件下,刷新率应该也不错。
    .jpg解码。大概10ms;
    .拷贝到画图图层,大概13ms(DMA2D不完整反而需要30ms)
    .显示图层切换到画图层,因为是双图层,所以不必考虑切换时间,直接就可以画第二层。
这种方案无论是速度,占用RAM空间,都是不错的。就是功能有局限性。

2-用emWin做ui平台。
   没用过,不确定效率咋样。所以想请教一下。


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106882
QQ
发表于 2023-8-17 14:42:27 | 显示全部楼层
分辨率多少,大概的解码效果是什么样的。
回复

使用道具 举报

24

主题

122

回帖

194

积分

初级会员

积分
194
 楼主| 发表于 2023-8-17 15:16:35 | 显示全部楼层
eric2013 发表于 2023-8-17 14:42
分辨率多少,大概的解码效果是什么样的。

分辨率是640*480. 初期测试的挂RTOS,UI裸机情况下的几个指标:

1-从norflash读jpg图片文件(整屏尺寸),直接解码到显示区,时间=13ms,16位,24位都差不多。
2-SDRAM数据整屏数据搬运到显示区,16位色是13ms,24位色(用的uint32存储)是30ms。DMA2D速度差不多也是30ms,且不分双字节还是4字节。不用DMA2D还有一个原因就是90度旋转,这个只能硬算,大概33ms。

如果是贴图设计,最坏情况下时间(RGB565)= 解码到缓存(13ms)+ 拷贝到工作区(13ms)+ 旋转到显示器(33ms)=59ms
其中解码时间会小于13ms,只有一张半屏尺寸图需要实时解码,其他小图标可以开机后一次性解码到SDRAM的缓冲区。

问过厂家DMA2D速度不好的原因,说是解码有独立的DMA通道,DMA2D只能等下一版才会优化。


回复

使用道具 举报

24

主题

122

回帖

194

积分

初级会员

积分
194
 楼主| 发表于 2023-8-17 15:22:59 | 显示全部楼层
分辨率是640*480. 初期测试的挂RTOS,UI裸机情况下的几个指标:
1-从norflash读jpg图片文件(整屏尺寸),直接解码到显示区,时间=13ms,16位,24位都差不多。
2-SDRAM数据整屏数据搬运到显示区,16位色是13ms,24位色(用的uint32存储)是30ms。DMA2D速度差不多也是30ms,且不分双字节还是4字节。不用DMA2D还有一个原因就是90度旋转,这个只能硬算,大概33ms。

如果是贴图设计,最坏情况下时间(RGB565)= 解码到缓存(13ms)+ 拷贝到工作区(13ms)+ 旋转到显示器(33ms)=59ms
其中解码时间会小于13ms,只有一张半屏尺寸图需要实时解码,其他小图标可以开机后一次性解码到SDRAM的缓冲区。

问过厂家DMA2D速度不好的原因,说是解码有独立的DMA通道,DMA2D只能等下一版才会优化。

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106882
QQ
发表于 2023-8-17 16:51:05 | 显示全部楼层
yxydoctor 发表于 2023-8-17 15:16
分辨率是640*480. 初期测试的挂RTOS,UI裸机情况下的几个指标:

1-从norflash读jpg图片文件(整屏尺寸 ...

不好意思,我发错了,我是想说界面效果是什么样的。
回复

使用道具 举报

24

主题

122

回帖

194

积分

初级会员

积分
194
 楼主| 发表于 2023-8-17 17:25:50 | 显示全部楼层
eric2013 发表于 2023-8-17 16:51
不好意思,我发错了,我是想说界面效果是什么样的。

类似GUIX的洗衣机demo。
回复

使用道具 举报

5

主题

165

回帖

180

积分

初级会员

积分
180
发表于 2023-8-18 08:57:06 | 显示全部楼层
swm34s只有150M频率,处理大分辨率的24位色图形估计很吃力
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106882
QQ
发表于 2023-8-18 08:58:21 | 显示全部楼层
yxydoctor 发表于 2023-8-17 15:22
分辨率是640*480. 初期测试的挂RTOS,UI裸机情况下的几个指标:
1-从norflash读jpg图片文件(整屏尺寸), ...

这个速度跟F429差不多,不过我的是800*480分辨率的,13-14ms。

https://www.armbbs.cn/forum.php?mod=viewthread&tid=21121
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106882
QQ
发表于 2023-8-18 09:00:12 | 显示全部楼层
yxydoctor 发表于 2023-8-17 17:25
类似GUIX的洗衣机demo。

emWn的话,有时间了我测试下旋转的情况下,刷屏图片的速度。
回复

使用道具 举报

5

主题

165

回帖

180

积分

初级会员

积分
180
发表于 2023-8-18 09:03:01 | 显示全部楼层
还有个点我觉得也有影响,就是国产mcu的内部flash速度都很慢,代码运行效率可能不会太好
回复

使用道具 举报

24

主题

122

回帖

194

积分

初级会员

积分
194
 楼主| 发表于 2023-8-18 14:28:00 | 显示全部楼层
打算再测测lvgl。跑widgets例程确实不行。但因为例程里面有大量的描点,渲染函数,计算量颇大,所以尽可能去规避一下。
能用图片的,不要去碰标准组件做渲染,太吃算力,这样的话可以减小计算量。
主体思路就是走一条串口组态+标准GUI设计杂交的一条路线。

还有就是NXP有个GUI Guider上位机软件,做简单工程很方便。这一点比GUIX强点,GUIX的Studio有点摸不着北。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-9 03:10 , Processed in 0.302687 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表