硬汉嵌入式论坛

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

[emWin] 请问大神为什么用存储设备刷图还是能看到刷图过程

[复制链接]

6

主题

25

回帖

43

积分

新手上路

积分
43
发表于 2019-7-8 14:18:27 | 显示全部楼层 |阅读模式
本帖最后由 mikekod 于 2019-7-8 14:22 编辑

用存储设备刷一张背景图,但是还是能看到自上而下刷图的过程,想请教一下是为什么?大家帮忙看看。

代码如下:


//显示C文件格式的位图
void draw_bmbk(void)
{
        GUI_SetBkColor(0x160104);
        GUI_SetColor(GUI_WHITE);
        GUI_Clear();
        GUI_SetTextMode(GUI_TM_TRANS);        //透明显示
        GUI_DrawBitmap(&bmbk,0,0);  //绘制背景图标        
}

void draw_bk(void)
{
        GUI_MEMDEV_Handle hMem0;
        GUI_SetBkColor(0x160104);
        GUI_Clear();        
        hMem0 = GUI_MEMDEV_Create(0,0,800,480);        //创建存储设备
        GUI_MEMDEV_Select(hMem0);        //选择hMem作为绘制操作目标的存储设备

        draw_bmbk();        //执行要显示的内容复制到存储设备中                        
        
        GUI_MEMDEV_Select(0);                  //选中LCD
        GUI_MEMDEV_WriteAt(hMem0, 0, 0);
        GUI_Exec();
}


hMem0 返回 0x00000004



用断点试过了,程序走到GUI_MEMDEV_WriteAt(hMem0, 0, 0);的时候才开始刷图,说明确实是存储设备刷的图。

这个是LTDC的时钟频率设置,感觉也不慢了
EMWIN内存空间设置了8*1024*1024,块大小 0x80




hMem0返回值0x0000004

hMem0返回值0x0000004

LTDC时钟频率设置

LTDC时钟频率设置

405590146f841157e1b0e9affa861cac.mp4

322.36 KB, 下载次数: 11

显示效果

回复

使用道具 举报

6

主题

25

回帖

43

积分

新手上路

积分
43
 楼主| 发表于 2019-7-8 14:21:00 | 显示全部楼层
EMWIN内存空间设置了8*1024*1024,块大小 0x80
回复

使用道具 举报

23

主题

1443

回帖

1512

积分

至尊会员

积分
1512
发表于 2019-7-8 14:40:37 | 显示全部楼层
你的硬件平台是不是有问题,这个绘制的确有问题。底层做DMA2D优化没
代码不规范,亲人两行泪!
回复

使用道具 举报

6

主题

25

回帖

43

积分

新手上路

积分
43
 楼主| 发表于 2019-7-8 14:51:06 | 显示全部楼层
missfox 发表于 2019-7-8 14:40
你的硬件平台是不是有问题,这个绘制的确有问题。底层做DMA2D优化没

不清楚,这个是别人的DEMO,我刷进去就能点亮了,其他的也不知道改哪里,大神教教我呗
回复

使用道具 举报

23

主题

1443

回帖

1512

积分

至尊会员

积分
1512
发表于 2019-7-8 16:01:39 | 显示全部楼层
mikekod 发表于 2019-7-8 14:51
不清楚,这个是别人的DEMO,我刷进去就能点亮了,其他的也不知道改哪里,大神教教我呗

这就麻烦了,一两句也说不清楚,你参考站长的例子移植吧,也有教程说明,你可以看

http://www.armbbs.cn/forum.php?m ... &extra=page%3D1
代码不规范,亲人两行泪!
回复

使用道具 举报

3

主题

105

回帖

114

积分

初级会员

积分
114
发表于 2019-7-8 18:51:08 | 显示全部楼层
本帖最后由 公仆 于 2019-7-8 18:58 编辑

2019-07-08_184819.png
补充:没仔细看描述,你说的是刷图慢就不是以上原因了。我说的是如果有闪烁现象,那就是那两句引起的。
但目前看来你那两句也是多余的,空耗了CPU时间,降低了刷图速度。
回复

使用道具 举报

2

主题

8

回帖

14

积分

新手上路

积分
14
发表于 2019-8-19 09:03:22 | 显示全部楼层
公仆 发表于 2019-7-8 18:51
补充:没仔细看描述,你说的是刷图慢就不是以上原因了。我说的是如果有闪烁现象,那就是那两句引起的。
...

如果把这两句删掉,想要接下来显示其他的界面,不是还要调用这两句吗
回复

使用道具 举报

5

主题

244

回帖

259

积分

高级会员

积分
259
发表于 2019-8-22 09:08:28 | 显示全部楼层
刷图速度跟你设置的屏幕像素格式也有关系,我在自己的硬件平台上测过,同样使用内存设备,在RGB888的屏幕像素格式下,F429刷一张800*480的图片要100多ms,而如果是RGB565,刷同一张图片只要20ms
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-18 07:36 , Processed in 0.360655 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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