硬汉嵌入式论坛

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

[emWin] emwin卡卡的,应该怎么设置

[复制链接]

19

主题

26

回帖

83

积分

初级会员

积分
83
发表于 2026-1-19 17:07:24 | 显示全部楼层 |阅读模式
已知
#define USE_EXRAM       1                       /* 外部 SRAM 最大为20M */
#define GUI_NUMBYTES    (1024 * 600*3.5)       /* EMWIN 内存大小 */

#define XSIZE_PHYS              1024             /*1024* 600*/
#define YSIZE_PHYS              600

#define NUM_BUFFERS             3               /* 使用多缓冲时的缓冲数量 */
#define NUM_VSCREENS            1               /* 使用虚拟屏幕时的虚拟屏幕数量 */

然后初始化设置为


    /* emWin 初始化 */
    GUI_Init();
    GUI_UC_SetEncodeUTF8();
    WM_MULTIBUF_Enable(1);//同步刷新
        WM_EnableMemdev(WM_HBKWIN);//内存设备开启

切换BOX刷新另一个BOX,和按按钮创建GUI_CreateDialogBox(_aDialogCreate, 27, &_cbCallback, 0, 0, 0);都慢慢的
请问应该怎么弄,之前换800*480就挺快的


回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
121123
QQ
发表于 2026-1-19 17:20:29 | 显示全部楼层
  WM_MULTIBUF_Enable(1);//同步刷新
        WM_EnableMemdev(WM_HBKWIN);//内存设备开启

必须二选一,并且选择WM_MULTIBUF_Enable的话,你的底层必须正确配置三缓存
回复

使用道具 举报

19

主题

26

回帖

83

积分

初级会员

积分
83
 楼主| 发表于 2026-1-19 18:31:13 | 显示全部楼层
本帖最后由 blzgods 于 2026-1-19 18:42 编辑
eric2013 发表于 2026-1-19 17:20
WM_MULTIBUF_Enable(1);//同步刷新
        WM_EnableMemdev(WM_HBKWIN);//内存设备开启

配置三缓存直接用正点原子的,单WM_MULTIBUF_Enable的话也会有闪烁,加上WM_EnableMemdev(WM_HBKWIN);才行,是不是缓冲少了?可是3缓冲好像是最高了,还是说要去重新配置3缓冲,这样刷新的效果不会闪烁且刷新很快。
目前一个页面有两个LISTBOX控件,3个redio,6个button,以及其他GUI_string字体,然后在点击某按钮之后当前界面基础上创建DialogBox,里面有18个按钮和4个edit。
回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
121123
QQ
发表于 2026-1-20 00:55:42 | 显示全部楼层
blzgods 发表于 2026-1-19 18:31
配置三缓存直接用正点原子的,单WM_MULTIBUF_Enable的话也会有闪烁,加上WM_EnableMemdev(WM_HBKWIN);才 ...

这种简单界面,按说无压力,移植我们的三缓存驱动试试。

https://forum.anfulai.cn/forum.p ... &extra=page%3D1
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-24 11:14 , Processed in 0.051685 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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