硬汉嵌入式论坛

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

[emWin] emWin使用内存设备绘制仍然闪屏

[复制链接]

32

主题

187

回帖

283

积分

高级会员

积分
283
发表于 2018-6-12 15:10:00 | 显示全部楼层 |阅读模式
屏幕分辨率是800*480。我创建两个800*480的内存设备,然后分别把两个内存设备背景色设为不同,直接调用 GUI_MEMDEV_WriteAt函数切换两个不同的设备。
这样会闪屏,但有的时候闪屏,有的时候不闪屏。
没有使用任何控件,窗口。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107604
QQ
发表于 2018-6-12 16:38:13 | 显示全部楼层
主要有三个问题
1、 本身的硬件设计问题。
2.   调整下LTDC的时钟速度看看,已经LTDC和SDRAM所涉及到的GPIO速度等级。
3.   下载进去程序后,等待1分钟再上电看看。
回复

使用道具 举报

32

主题

187

回帖

283

积分

高级会员

积分
283
 楼主| 发表于 2018-6-12 17:15:53 | 显示全部楼层
eric2013 发表于 2018-6-12 16:38
主要有三个问题
1、 本身的硬件设计问题。
2.   调整下LTDC的时钟速度看看,已经LTDC和SDRAM所涉及到的GP ...

我用老师的三缓冲例子测试,通过创建窗口来切换,这样不会闪屏
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107604
QQ
发表于 2018-6-13 01:50:52 | 显示全部楼层
loliko 发表于 2018-6-12 17:15
我用老师的三缓冲例子测试,通过创建窗口来切换,这样不会闪屏

这样的话,也可以的。
回复

使用道具 举报

32

主题

187

回帖

283

积分

高级会员

积分
283
 楼主| 发表于 2018-6-13 11:53:22 | 显示全部楼层
eric2013 发表于 2018-6-13 01:50
这样的话,也可以的。

这样是不是就排除了硬件问题呢?但是通过窗口来切换整个页面的话,每一次切换都需要把所有东西绘制完了,再显示出来,不能把之前的绘制状态保存,所以通过切换窗口的话,时间要比切换内存设备慢很多
回复

使用道具 举报

32

主题

187

回帖

283

积分

高级会员

积分
283
 楼主| 发表于 2018-6-14 15:22:02 | 显示全部楼层
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107604
QQ
发表于 2018-6-15 16:54:08 | 显示全部楼层
loliko 发表于 2018-6-13 11:53
这样是不是就排除了硬件问题呢?但是通过窗口来切换整个页面的话,每一次切换都需要把所有东西绘制完了, ...

你前面不是使用三缓冲了么,速度飞快的。你没有使用外部32位带宽的SDRAM吗。
回复

使用道具 举报

32

主题

187

回帖

283

积分

高级会员

积分
283
 楼主| 发表于 2018-6-19 16:33:38 | 显示全部楼层
eric2013 发表于 2018-6-15 16:54
你前面不是使用三缓冲了么,速度飞快的。你没有使用外部32位带宽的SDRAM吗。

使用的是16位的SDRAM,三缓冲切换窗口的话,每次切换都需要绘制所有东西,时间消耗比较多
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107604
QQ
发表于 2018-6-19 16:52:44 | 显示全部楼层
loliko 发表于 2018-6-19 16:33
使用的是16位的SDRAM,三缓冲切换窗口的话,每次切换都需要绘制所有东西,时间消耗比较多

应该用32位的,16位的慢不少。
回复

使用道具 举报

32

主题

187

回帖

283

积分

高级会员

积分
283
 楼主| 发表于 2018-6-19 17:38:22 | 显示全部楼层
eric2013 发表于 2018-6-19 16:52
应该用32位的,16位的慢不少。

现在就是感觉SDRAM的带宽不够,导致SD卡在使用DMA从SDRAM里面读写数据,加上LTDC。SD卡会出问题
回复

使用道具 举报

615

主题

3071

回帖

4936

积分

至尊会员

积分
4936
发表于 2018-6-23 16:44:28 | 显示全部楼层
loliko 发表于 2018-6-19 17:38
现在就是感觉SDRAM的带宽不够,导致SD卡在使用DMA从SDRAM里面读写数据,加上LTDC。SD卡会出问题

切换到主界面的话,使用 隐藏,显示就可以了,其他的界面内容不多可以使用删除,创建的方法,

我目前就是这么干的,貌似还可以
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-7 21:21 , Processed in 0.217046 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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