OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6304|回复: 18

关于EMWIN刷屏时间长短的问题

[复制链接]

1

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2019-9-26
在线时间
12 小时
发表于 2019-12-10 15:13:05 | 显示全部楼层 |阅读模式
最近在跟着原子哥的教程学EMWIN,有些问题请教下大神们!!!原子哥教程上说由于STM32F1 FSMC的性能问题,实际驱动LCD时写一条指令的时间是100ns,拿480*800分辨率的屏来计算:
480*800=384000像素,假设刷屏刷一样的颜色即是384000*100ns=38 400 000ns=38.4ms,在加上刷屏时送数据给屏使用for循环,
经过测试执行循环for(i=0;i<384000;i++)时间大约为55ms,即刷一次屏大约92ms,这个速度是不是太慢了呢???
更何况如果是刷BMP的话看原子哥的移植教程中快速打点一个像素要设定x和y坐标加上其他指令共8条,那么刷一张图时间就更久了,
看原子哥的战舰V3综合测试例程开机界面屏幕滑动效果应该都是刷图片实现的吧??为什么原子哥的测试例程刷屏那么快呢??



正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

37

主题

595

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1572
金钱
1572
注册时间
2017-7-17
在线时间
308 小时
发表于 2019-12-19 17:37:56 | 显示全部楼层
文东东1223 发表于 2019-12-19 16:48
刷新率不就决定了刷新速度吗,兄弟。你看原子哥的战舰综合例程的开机画面是可以像现在的手机一样左右滑屏 ...

你可以用virtual screens技术来做,而不是多缓冲。使用virtual screens可以让你的页面实现秒切,只是页面越多就越耗内存。
回复 支持 1 反对 0

使用道具 举报

5

主题

424

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1020
金钱
1020
注册时间
2014-9-4
在线时间
199 小时
发表于 2019-12-10 15:35:59 | 显示全部楼层
emwin的功能与性能自己2选1喽,,正常使用应该没问题。
回复 支持 反对

使用道具 举报

37

主题

595

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1572
金钱
1572
注册时间
2017-7-17
在线时间
308 小时
发表于 2019-12-10 17:37:56 | 显示全部楼层
一般1秒刷10次很好了,,如果你想刷的更快,那是不可能的
1)外部sdram带宽,这是图形显示应用的瓶颈,刷快了,你就等着花屏和闪屏把。
2)除了刷新画面,实际应用中单片机还要做其他的事情,特别是要保证实时性,如果你都把时间资源给emwin占用了,那整个系统就是很卡的,跑不起来。
总结:别想当然,以为想刷多快就刷多快,有很多限制的,多想想为什么。
回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2019-9-26
在线时间
12 小时
 楼主| 发表于 2019-12-11 09:39:30 | 显示全部楼层
WZTENG 发表于 2019-12-10 15:35
emwin的功能与性能自己2选1喽,,正常使用应该没问题。

有点不懂啊兄弟!!!
回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2019-9-26
在线时间
12 小时
 楼主| 发表于 2019-12-11 09:45:19 | 显示全部楼层
candylife9 发表于 2019-12-10 17:37
一般1秒刷10次很好了,,如果你想刷的更快,那是不可能的
1)外部sdram带宽,这是图形显示应用的瓶颈,刷 ...

如果是每秒刷10帧左右的话,感觉有点慢啊,刷屏的时候感觉从上到下刷的过程都能感觉的到。你看下原子哥的战舰V3综合例程,主界面是那种跟手机操作相同可以左右滑屏的操作,这样在滑动的过程中全屏背景要一直刷新,也没看到有闪烁的现象啊,有点想不明白怎么实现的
回复 支持 反对

使用道具 举报

5

主题

424

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1020
金钱
1020
注册时间
2014-9-4
在线时间
199 小时
发表于 2019-12-11 09:49:16 | 显示全部楼层
文东东1223 发表于 2019-12-11 09:39
有点不懂啊兄弟!!!

要刷新速度就自己写UI,要使用emWin的功能就要做好慢的准备。或上高性能的芯片。综合例程估计是直接开RAM直接写数据,emWin应该是一个一个打点显示出来的。想再快点就自己优化下emWin的接口函数。
https://github.com/WZTENG
回复 支持 反对

使用道具 举报

37

主题

595

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1572
金钱
1572
注册时间
2017-7-17
在线时间
308 小时
发表于 2019-12-11 12:24:52 | 显示全部楼层
文东东1223 发表于 2019-12-11 09:45
如果是每秒刷10帧左右的话,感觉有点慢啊,刷屏的时候感觉从上到下刷的过程都能感觉的到。你看下原子哥的 ...

从上到下那个刷是刷新速度,而以每秒10帧是刷新率。这两个是不同的概念。你一秒钟刷一帧,也能看到从上到下刷。这个是显示驱动时钟速率的问题。
回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2019-9-26
在线时间
12 小时
 楼主| 发表于 2019-12-19 16:43:22 | 显示全部楼层
WZTENG 发表于 2019-12-11 09:49
要刷新速度就自己写UI,要使用emWin的功能就要做好慢的准备。或上高性能的芯片。综合例程估计是直接开RAM ...

那好吧
回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2019-9-26
在线时间
12 小时
 楼主| 发表于 2019-12-19 16:48:48 | 显示全部楼层
candylife9 发表于 2019-12-11 12:24
从上到下那个刷是刷新速度,而以每秒10帧是刷新率。这两个是不同的概念。你一秒钟刷一帧,也能看到从上 ...

刷新率不就决定了刷新速度吗,兄弟。你看原子哥的战舰综合例程的开机画面是可以像现在的手机一样左右滑屏的,首先滑屏操作的话需要读背景图片从文件系统,然后再把图标与背景图片透明处理后再送到屏上,这样的话刷一屏图片时间就更久了,如果是刷新的时候从上到下刷新的过程都能看到的话,那滑屏效果就不理想了。想知道原子哥是怎么实现这个滑屏操作并且滑动时也流畅的,谢谢
回复 支持 反对

使用道具 举报

7

主题

87

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
301
金钱
301
注册时间
2016-10-1
在线时间
115 小时
发表于 2022-1-28 10:31:56 来自手机 | 显示全部楼层
本帖最后由 20161001 于 2022-3-2 11:27 编辑
candylife9 发表于 2019-12-10 17:37
一般1秒刷10次很好了,,如果你想刷的更快,那是不可能的
1)外部sdram带宽,这是图形显示应用的瓶颈,刷 ...

能帮我看看吗,我现在就遇到莫名其妙的花屏,不知道是不是遇到sdram带宽瓶颈了http://www.openedv.com/forum.php?mod=viewthread&tid=333254&extra=
回复 支持 反对

使用道具 举报

37

主题

595

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1572
金钱
1572
注册时间
2017-7-17
在线时间
308 小时
发表于 2022-2-9 14:19:32 | 显示全部楼层
类似这样的滑动效果emwin有自带的控件,不是像你想象的一张图片一张图片凑出来的效果,那样肯定卡死。而且emwin内部有重绘机制,不是每次刷新都是整屏刷,绝大多数时候是之刷新需要改变的部分,不变的部分就不会刷。
回复 支持 反对

使用道具 举报

37

主题

595

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1572
金钱
1572
注册时间
2017-7-17
在线时间
308 小时
发表于 2022-2-9 14:20:27 | 显示全部楼层
20161001 发表于 2022-1-28 10:31
能帮我看看吗,我现在就遇到莫名其妙的花屏,不知道是不是遇到sdram带宽瓶颈了http://www.openedv.com/fo ...

自己计算一下就可以了,或者想办法用个分辨率小点的屏试试。
回复 支持 反对

使用道具 举报

7

主题

87

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
301
金钱
301
注册时间
2016-10-1
在线时间
115 小时
发表于 2022-3-2 11:26:09 | 显示全部楼层
candylife9 发表于 2022-2-9 14:20
自己计算一下就可以了,或者想办法用个分辨率小点的屏试试。

我把1024x600分辨率的屏换成800x400分辨率的屏依然会花屏
回复 支持 反对

使用道具 举报

37

主题

595

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1572
金钱
1572
注册时间
2017-7-17
在线时间
308 小时
发表于 2022-3-3 14:38:58 | 显示全部楼层
本帖最后由 candylife9 于 2022-3-3 14:42 编辑
20161001 发表于 2022-3-2 11:26
我把1024x600分辨率的屏换成800x400分辨率的屏依然会花屏

你是花屏,还是闪屏?花屏是值屏幕页面是花的,闪屏是偶尔出现的屏幕闪烁,或者操作的时候屏幕会闪烁和抖动。如果你只是花屏,可以考虑换根线,或者换个板子试试呢,说不定是硬件的问题。花屏一般都是硬件的问题,或者线的问题。
回复 支持 反对

使用道具 举报

7

主题

87

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
301
金钱
301
注册时间
2016-10-1
在线时间
115 小时
发表于 2022-3-4 09:33:17 | 显示全部楼层
candylife9 发表于 2022-3-3 14:38
你是花屏,还是闪屏?花屏是值屏幕页面是花的,闪屏是偶尔出现的屏幕闪烁,或者操作的时候屏幕会闪烁和抖 ...

我这个是花屏不是闪屏,我是跑的emwin例程,反复跑多次以后会出现automotive这个例程花屏,并且不是每次都花屏,而是有时候跑到automotive这个例程会花屏。比如例程跑10遍,可能会遇到一次跑到automotive这个例程的时候花屏一下,其他例程都不会花屏,唯独automotive这个例程会偶尔花屏。头疼,断断续续折腾了一两个月也没找到问题的根源。
花屏.rar (2 MB, 下载次数: 2)
回复 支持 反对

使用道具 举报

7

主题

87

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
301
金钱
301
注册时间
2016-10-1
在线时间
115 小时
发表于 2022-3-4 09:46:12 | 显示全部楼层
candylife9 发表于 2022-3-3 14:38
你是花屏,还是闪屏?花屏是值屏幕页面是花的,闪屏是偶尔出现的屏幕闪烁,或者操作的时候屏幕会闪烁和抖 ...


我在其他论坛有看到有人说emwin例程本身有问题,因为我除了遇到过程序反复跑会偶尔花屏情况也遇到过程序反复跑死机情况,不知道是不是emwin例程本身程序有问题。很多人可能例程跑一两遍能跑通就认为OK不管了,没有做长时间反复测试可能就会注意不到这个情况。

20220304094152.jpg

回复 支持 反对

使用道具 举报

37

主题

595

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1572
金钱
1572
注册时间
2017-7-17
在线时间
308 小时
发表于 2022-3-5 21:21:45 | 显示全部楼层
20161001 发表于 2022-3-4 09:33
我这个是花屏不是闪屏,我是跑的emwin例程,反复跑多次以后会出现automotive这个例程花屏,并且不是每次 ...

例程或emwin有问题也是有可能的,毕竟都是代码。你的花屏的根本原因就是RGB数据错乱引起的。错乱,一个可能是硬件的问题,比如导致刷屏的数据错误,第二个就是显存里面的RGB数据被意外修改,比如本来是你作为显存的内存,又被代码分配出去了。虽然不会引起死机,但是屏幕会花。
回复 支持 反对

使用道具 举报

37

主题

595

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1572
金钱
1572
注册时间
2017-7-17
在线时间
308 小时
发表于 2022-3-5 21:23:08 | 显示全部楼层
20161001 发表于 2022-3-4 09:33
我这个是花屏不是闪屏,我是跑的emwin例程,反复跑多次以后会出现automotive这个例程花屏,并且不是每次 ...

可能是这个automotive页面的某个空间,或者这个页面功能的代码写的有问题。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 11:05

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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