硬汉嵌入式论坛

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

[emWin] 看到有帖子说stemwin有些功能内存消耗很大,指的是哪些功能?

[复制链接]

4

主题

81

回帖

4

积分

初级会员

积分
4
发表于 2014-1-11 12:38:09 | 显示全部楼层 |阅读模式
RT,版主指点下。
回复

使用道具 举报

4

主题

81

回帖

4

积分

初级会员

积分
4
 楼主| 发表于 2014-1-11 12:38:41 | 显示全部楼层
一般应用,要占用多大内存?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107411
QQ
发表于 2014-1-11 13:02:07 | 显示全部楼层
一般使用没有问题的,有些华丽的界面需要使用内存设备申请大的内存使用,这时内存大很重要
回复

使用道具 举报

3

主题

56

回帖

65

积分

初级会员

积分
65
发表于 2019-7-23 18:12:50 | 显示全部楼层
eric2013 发表于 2014-1-11 13:02
一般使用没有问题的,有些华丽的界面需要使用内存设备申请大的内存使用,这时内存大很重要

汉哥,今天我把工程中用到的emwin库版本升级到了540,替换了inc文件夹,.lib文件,以及Config文件夹中的GUIConf.c与GUIConf.h文件,现在发现整个emwin用到的内存从9000kb降到了4000kb,我用的屏幕是1024*600,RGB565格式的配置,想请问一下这个新版本,是本身就有内存优化吗,我对比了两边的文件配置,感觉摸不着头脑哪里省出的内存。
回复

使用道具 举报

3

主题

56

回帖

65

积分

初级会员

积分
65
发表于 2019-7-23 18:12:55 | 显示全部楼层
eric2013 发表于 2014-1-11 13:02
一般使用没有问题的,有些华丽的界面需要使用内存设备申请大的内存使用,这时内存大很重要

汉哥,今天我把工程中用到的emwin库版本升级到了540,替换了inc文件夹,.lib文件,以及Config文件夹中的GUIConf.c与GUIConf.h文件,现在发现整个emwin用到的内存从9000kb降到了4000kb,我用的屏幕是1024*600,RGB565格式的配置,想请问一下这个新版本,是本身就有内存优化吗,我对比了两边的文件配置,感觉摸不着头脑哪里省出的内存。
回复

使用道具 举报

336

主题

2042

回帖

3055

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3055
发表于 2019-7-24 10:47:59 | 显示全部楼层
本帖最后由 caicaptain2 于 2019-7-24 10:59 编辑
溪云初_VS28s 发表于 2019-7-23 18:12
汉哥,今天我把工程中用到的emwin库版本升级到了540,替换了inc文件夹,.lib文件,以及Config文件夹中的G ...

应该没有这么夸张的优化的吧。。。。你测试的时候,需要把所有窗口和控件都打开一遍,看看峰值消耗。
emwin的内存设定20k就可以运行窗口和大多数控件了,只是屏幕刷新速度慢些,感受不好。
我的经验中,四五个窗口,几十个控件,M4的arm,emwin缓存20k时,窗口切换刷新需要半秒左右。40k缓存时,窗口切换约20毫秒;64k缓存时,窗口切换大约几个毫秒了。

有几个功能,需要大量的缓存,比如jpeg的解码,矢量字体,阿尔法混合之类的,就需要几百kB了。

可参考我以前摸索的一个帖子。http://www.armbbs.cn/forum.php?m ... id=16258&extra=
回复

使用道具 举报

3

主题

56

回帖

65

积分

初级会员

积分
65
发表于 2019-7-25 21:13:35 | 显示全部楼层
caicaptain2 发表于 2019-7-24 10:47
应该没有这么夸张的优化的吧。。。。你测试的时候,需要把所有窗口和控件都打开一遍,看看峰值消耗。
em ...

是这样的呀,我的图片资源,在解码前的源文件已经有2M字节左右了,会不会是528和540两个版本的GUI_ALLOC_GetNumFreeBytes这个函数的返回值格式不同的原因呢
回复

使用道具 举报

336

主题

2042

回帖

3055

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3055
发表于 2019-7-26 10:13:27 | 显示全部楼层
本帖最后由 caicaptain2 于 2019-7-26 10:18 编辑
溪云初_VS28s 发表于 2019-7-25 21:13
是这样的呀,我的图片资源,在解码前的源文件已经有2M字节左右了,会不会是528和540两个版本的GUI_ALLOC_ ...

bmp的源文件都是很大的。 这个只是占用ROM空间而已,对emwin缓存影响不大的。
相反,各种压缩格式文件的size小,但是解码复杂,占用的缓存反而比较多。这里消耗的多,也就是说上了100kB而已。 1MB缓存,对很多嵌入式应用来说都是豪华配置。
emwin本来就是给嵌入式用的图形库,瞎耗内存就没有人用它了。

emwin只有使用多页面缓冲,才需要大缓存。比如1024x768的豪华配置,增加一页缓存需要1.5MB。如果只是单页驱动刷新,配置个100KB足够emwin跑动了,因为它会分块刷新。


回想当年,比尔盖茨都说640kb内存的dos驱动显示,跑得飞。。。
回复

使用道具 举报

3

主题

56

回帖

65

积分

初级会员

积分
65
发表于 2019-7-26 11:54:34 | 显示全部楼层
caicaptain2 发表于 2019-7-26 10:13
bmp的源文件都是很大的。 这个只是占用ROM空间而已,对emwin缓存影响不大的。
相反,各种压缩格式文件的 ...

怎么可能,我那些图片都2M字节了,我每张图给它配一个存储设备,这内存不会小的,外挂了32M的SRAM
回复

使用道具 举报

3

主题

56

回帖

65

积分

初级会员

积分
65
发表于 2019-7-26 11:55:19 | 显示全部楼层
caicaptain2 发表于 2019-7-26 10:13
bmp的源文件都是很大的。 这个只是占用ROM空间而已,对emwin缓存影响不大的。
相反,各种压缩格式文件的 ...

下午抽空我简每建立一张图printf一下看看就知道了
回复

使用道具 举报

336

主题

2042

回帖

3055

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3055
发表于 2019-7-29 10:42:15 | 显示全部楼层
溪云初_VS28s 发表于 2019-7-26 11:55
下午抽空我简每建立一张图printf一下看看就知道了

我只能羡慕你的硬件平台,豪华耀眼。。。
在一些需要卖得出去的产品中,一个廉价的stm32F1系列,几十kb的RAM,就需要配备各种图形,窗口,通讯等。

armfly在f4的芯片上就实现了人家几千块钱的示波器全部功能。。。。
回复

使用道具 举报

3

主题

56

回帖

65

积分

初级会员

积分
65
发表于 2019-8-15 16:44:24 | 显示全部楼层
caicaptain2 发表于 2019-7-29 10:42
我只能羡慕你的硬件平台,豪华耀眼。。。
在一些需要卖得出去的产品中,一个廉价的stm32F1系列,几十kb ...

原来论坛换地址了啊,傻傻的一个多月才知道
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-30 09:13 , Processed in 0.295989 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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