硬汉嵌入式论坛

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

[emWin] F429开发板关于使用多缓冲和存储设备的问题

[复制链接]

1

主题

12

回帖

15

积分

新手上路

积分
15
发表于 2016-8-16 20:18:36 | 显示全部楼层 |阅读模式
我发现用多缓冲


GUI_Init();
    //WM_SetCreateFlags(WM_CF_MEMDEV);
   //#if GUI_WINSUPPORT
    WM_MULTIBUF_Enable(1);
  //#endif

然后程序窗口用了浮点计算,运行却非常慢,将多缓冲改成存储设备,就正常了,如果不用浮点,则用多缓冲也很快。画弧线为什么会变慢呢?我开了FPU模式。
是默认开启了429自带的图形加速了吗?
回复

使用道具 举报

1

主题

12

回帖

15

积分

新手上路

积分
15
 楼主| 发表于 2016-8-16 20:49:52 | 显示全部楼层
经测试 是这个函数导致的程序很慢   GUI_AA_DrawArc()   不用抗锯齿会好很多,只是不明白为什么用存储设备就没影响?望高手回到一下?还有安富莱给的例子为什么都是要用微库?把微库去掉液晶屏黑屏,请问该修改哪些部分?谢谢了
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115717
QQ
发表于 2016-8-17 10:24:53 | 显示全部楼层

回 古骨config 的帖子

古骨config:经测试 是这个函数导致的程序很慢   GUI_AA_DrawArc()   不用抗锯齿会好很多,只是不明白为什么用存储设备就没影响?望高手回到一下?还有安富莱给的例子为什么都是要用微库?把微库去掉液晶屏黑屏,请问该修改哪些部分?谢谢了 (2016-08-16 20:49)
不清楚你的这个是怎么回事,没有遇到过,极有可能是你的多缓冲是没有启动。
微库相比标准库性价比更高,专门优化出来的,MDK官方有说明,检索MicroLib即可

去掉微库参考这个例子:http://www.armbbs.cn/forum.php?mod=viewthread&tid=19010
回复

使用道具 举报

1

主题

12

回帖

15

积分

新手上路

积分
15
 楼主| 发表于 2016-8-17 10:49:23 | 显示全部楼层

回 eric2013 的帖子

eric2013:不清楚你的这个是怎么回事,没有遇到过,极有可能是你的多缓冲是没有启动。
微库相比标准库性价比更高,专门优化出来的,MDK官方有说明,检索MicroLib即可

去掉微库参考这个例子:http://www.armbbs.cn/forum.php?mod=viewthread&tid=19010
....... (2016-08-17 10:24) 
        微库我记得是影响性能的,之前用过NXP的1788,开启微库和关闭微库,emwin刷新速度不一样,不用微库要快得多。这个f429的开发板没发现这种情况,开启和关闭似乎一样。
      我用的是安富莱提供的例程改过来的,例程本来用的就多缓冲模式,如果没开启多缓冲屏幕刷新肯定会闪屏,今天又测试,还是发现GUI_AA_DrawArc这个抗锯齿画弧线的问题,是不是多缓冲对抗锯齿支持不好?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115717
QQ
发表于 2016-8-17 10:57:12 | 显示全部楼层

回 古骨config 的帖子

古骨config:        微库我记得是影响性能的,之前用过NXP的1788,开启微库和关闭微库,emwin刷新速度不一样,不用微库要快得多。这个f429的开发板没发现这种情况,开启和关闭似乎一样。
      我用的是安富莱提供的 .. (2016-08-17 10:49) 
开启和关闭微库,对C库函数有影响,你没怎么用到相关的函数,所有就没有什么差别。

我们提供的V5例程没有用到多缓冲,用V5不支持多缓冲,V5是F407的板子。

多缓冲对抗锯齿没有影响,F429做的时钟表盘和指针就是抗锯齿,用的多缓冲。应该是你的工程有问题。
回复

使用道具 举报

1

主题

12

回帖

15

积分

新手上路

积分
15
 楼主| 发表于 2016-8-17 11:06:51 | 显示全部楼层

回 eric2013 的帖子

eric2013:开启和关闭微库,对C库函数有影响,你没怎么用到相关的函数,所有就没有什么差别。

我们提供的V5例程没有用到多缓冲,用V5不支持多缓冲,V5是F407的板子。

....... (2016-08-17 10:57) 
首先谢谢大神的回复。
我用的确实是你们的429的例程,是移植的官方DEMO的那个,我将官方的DEMO屏蔽掉,加了自己的代码,其他的都没动。是不是我买的开发板CPU是f439的缘故?应该跟429通用的吧,刚接触ST的CPU,还不太明白。
回复

使用道具 举报

1

主题

12

回帖

15

积分

新手上路

积分
15
 楼主| 发表于 2016-8-17 11:50:21 | 显示全部楼层

回 eric2013 的帖子

eric2013:开启和关闭微库,对C库函数有影响,你没怎么用到相关的函数,所有就没有什么差别。

我们提供的V5例程没有用到多缓冲,用V5不支持多缓冲,V5是F407的板子。

....... (2016-08-17 10:57) 
我又检查了一下,确实是我自己程序的原因,隐藏的太深了。谢谢 你的回复
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-14 07:02 , Processed in 0.268929 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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