硬汉嵌入式论坛

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

[emWin] 开启WM_MULTIBUF_Enable后,任何数据的刷新都是全屏,耗时太长怎么办

[复制链接]

5

主题

201

回帖

216

积分

高级会员

积分
216
发表于 2024-3-12 10:42:14 | 显示全部楼层 |阅读模式
跑的是emwin,开启三缓冲后,显示刷屏挺流畅的。

不过我在GUI_Exec函数的前后加了时间戳,然后打印这个时间差后,发现了一些问题。
就是我只要改变屏幕上显示的任何一点点内容,好比一个RTC时间,那么就需要50ms的时间。
整个屏幕的内容全部改变的时候,切换界面的时候,时间也只是比这个多一点点而已。

如果我不开启WM_MULTIBUF_Enable,那么做RTC这样的时间刷新的时候,就很快,1ms以内,但是切换的时候会有一丝丝的闪烁、撕裂感。

请问,这个WM_MULTIBUF_Enable开启后,就一定是全屏刷新了吗?
我想保留全屏刷新的同时、还能支持局部刷新的那种速度,应该怎么做呢
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106649
QQ
发表于 2024-3-13 08:48:01 | 显示全部楼层
你前面说的50ms没关系的,这个并不是CPU参与了这么长时间,CPU仅仅也是参与RTC变化的这部分,其它是DMA2D在整屏切换缓冲地址刷新。CPU利用率极低。

你可以试试,Mutibuf begin和end函数。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 18:52 , Processed in 0.150977 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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