硬汉嵌入式论坛

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

[emWin] 界面切换慢

[复制链接]

5

主题

24

回帖

39

积分

新手上路

积分
39
发表于 2017-6-27 22:04:30 | 显示全部楼层 |阅读模式
制作的主界面图片资源都是从外部flash读取进来显示的,发现在两个界面切换时间比较久,差不多1秒多才能切换过去,测试了一下,从外部flash读取数据差不多只花了100ms,填充一张480*272居然都发了50ms,
平台stm32f429的,不知道时间是不是太久了?
1、关于资源存在外部flash中,不知道大家是如何处理,也是需要时从外部调用吗?我测试程序平时在重绘WM_PAINT时也要读取外部的flash资源,回调函数中使用了定时器,
2、大家界面切换一般花费多少时间,能感觉出界面停顿吗?,有没有比较好经验介绍分享一下。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115749
QQ
发表于 2017-6-28 01:48:31 | 显示全部楼层
你当前的实现方案是相当的卡,我们的实现方案是15ms一张800*480*2的图片,看下我们的V6板子综合Demo效果:http://www.armbbs.cn/forum.php?mod=viewthread&tid=17330

另外就是学习下我们新版emWin教程,图片章节在开头就推荐的显示方案:http://www.armbbs.cn/forum.php?mod=viewthread&tid=19834
回复

使用道具 举报

5

主题

24

回帖

39

积分

新手上路

积分
39
 楼主| 发表于 2017-6-28 08:22:21 | 显示全部楼层
谢谢,我看看
回复

使用道具 举报

5

主题

24

回帖

39

积分

新手上路

积分
39
 楼主| 发表于 2017-6-28 08:43:18 | 显示全部楼层
eric2013   关于大量的外部flash资源,你是如何处理,也是需要时从外部读取吗? 显示完后再释放吗
回复

使用道具 举报

5

主题

24

回帖

39

积分

新手上路

积分
39
 楼主| 发表于 2017-6-28 10:34:13 | 显示全部楼层
同样的一块,有设置GUI_SetAlpha 时速度会慢非常的多。差不多5ms ,没有的时候只有50us,性能会差这么多吗
// GUI_SetAlpha(0XC0);
        GUI_SetColor(GUI_BLACK);     
        GUI_FillRect(0, 0, xSize , ySize);
        //GUI_SetAlpha(0x0);
回复

使用道具 举报

11

主题

68

回帖

198

积分

初级会员

积分
198
发表于 2017-6-28 10:58:03 | 显示全部楼层

回 jd9945 的帖子

jd9945:  同样的一块,有设置GUI_SetAlpha 时速度会慢非常的多。差不多5ms ,没有的时候只有50us,性能会差这么多吗
// GUI_SetAlpha(0XC0);
        GUI_SetColor(GUI_BLACK);    
    &nb .. (2017-06-28 10:34) 
你可以看一下你的ltdc和sdram的配置啊
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115749
QQ
发表于 2017-6-28 15:54:28 | 显示全部楼层

回 jd9945 的帖子

jd9945:eric2013   关于大量的外部flash资源,你是如何处理,也是需要时从外部读取吗? 显示完后再释放吗 (2017-06-28 08:43) 
因为我们的F429是用的2MB Flash,我是将所有的图片和图标存储到内部Flash。另外那个背景图片,我是用的JPEG格式的,800*480分辨率的,也就几十KB。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115749
QQ
发表于 2017-6-28 15:55:50 | 显示全部楼层

回 jd9945 的帖子

jd9945:  同样的一块,有设置GUI_SetAlpha 时速度会慢非常的多。差不多5ms ,没有的时候只有50us,性能会差这么多吗
// GUI_SetAlpha(0XC0);
        GUI_SetColor(GUI_BLACK);    
    &nb .. (2017-06-28 10:34) 
这种需要alpha优化的,虽然F429支持硬件alpha,但是效果并不好,你可以使用存储设备,将这些全部绘制到存储设备里面,以后直接调用存储设备函数刷新即可。
回复

使用道具 举报

354

主题

2164

回帖

3231

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3231
发表于 2017-6-28 16:04:18 | 显示全部楼层
F103切换一个界面800x480的,大概0.5秒; F407大概0.2秒。

F429比他们都快,应该是0.1s左右把
回复

使用道具 举报

5

主题

24

回帖

39

积分

新手上路

积分
39
 楼主| 发表于 2017-6-28 16:48:23 | 显示全部楼层
我试过了绘制到存储设备 ,用这个GUI_MEMDEV_CreateEx函数来创建,但是在贴图的时候无法把这个存储设务,贴到任意坐标的位置,因为一张图片,很多地方都有使用到。
不知道大家如何使用
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115749
QQ
发表于 2017-6-29 00:25:02 | 显示全部楼层

回 jd9945 的帖子

jd9945:我试过了绘制到存储设备 ,用这个GUI_MEMDEV_CreateEx函数来创建,但是在贴图的时候无法把这个存储设务,贴到任意坐标的位置,因为一张图片,很多地方都有使用到。
不知道大家如何使用 (2017-06-28 16:48)
可以的,存储设备有很多函数的,比如调用这个:GUI_MEMDEV_WriteAt(hMempic, 0, 0);
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-15 18:35 , Processed in 0.299332 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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