硬汉嵌入式论坛

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

[emWin] 找到了F429配置为32位色的情况用emWin刷图片慢的原因了,是emWin本身的缺陷,在5.3

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107626
QQ
发表于 2016-8-22 15:26:17 | 显示全部楼层 |阅读模式
现在我们V6板子一直用的RGB565,刷色块是1亿2千万,而用ARGB8888的时候刷色块也是非常快的,可以达到8000万。
这里注意一点,这个不仅仅是DMA2D个功劳,你用的SDRAM性能也很重要,要用32位带宽的,因为DMA2D是把颜色值往
SDRAM显存里面刷的。
--------------------------------------------------------------------------------------------------
那么此时,问题来了,16位色刷图片的时候,刷800*480*2的图片仅需要15ms,而32位色的时候刷800*480*2,居然干到200ms左右
这个差距太大了,经过研究,应该是找到原因了,我采用下面这么方法刷图片
hMempic = GUI_MEMDEV_CreateEx(0, 0, 800, 480, GUI_MEMDEV_HASTRANS);


/* 将图片解码到内存设备中 */
GUI_MEMDEV_Select(hMempic);
GUI_DrawBitmap(&bm1, 0, 0);  -------注意,由于emWin内部是32位的ABGR个颜色格式,这里会调用底层函数进行颜色转换,以适应当前显示屏的显示。
GUI_MEMDEV_Select(0);

显示的时候调用函数:
GUI_MEMDEV_WriteAt(hMempic,0,0);
----------------------------------------------------
16位色和32位色的关键就在这个显示函数上面了,使用16位色的时候,这个显示函数不会再调用底层函数进行颜色转换。
而使用32位色的时候,还继续调用底层颜色转换函数,将ABGR转换为ARGB,差距就在这里。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107626
QQ
 楼主| 发表于 2016-8-22 15:28:01 | 显示全部楼层
看了5.34的更新记录,这个版本应该是更新了这个缺陷。
============================================
3.jpg
回复

使用道具 举报

56

主题

907

回帖

1075

积分

至尊会员

积分
1075
发表于 2016-8-26 19:52:14 | 显示全部楼层
顶。找这个点花时间啊。学就几分钟
回复

使用道具 举报

615

主题

3071

回帖

4936

积分

至尊会员

积分
4936
发表于 2016-11-20 16:07:42 | 显示全部楼层

回 eric2013 的帖子

eric2013:看了5.34的更新记录,这个版本应该是更新了这个缺陷。
============================================


 (2016-08-22 15:28) 
你好,你们的emwin 什么时候发布啊,现在的教程是使用哪个版本的 ??

之前说是 emwin v5.32, 不知道现在最终是哪个版本的 ??
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107626
QQ
 楼主| 发表于 2016-11-20 16:19:12 | 显示全部楼层

回 hpdell 的帖子

hpdell:你好,你们的emwin 什么时候发布啊,现在的教程是使用哪个版本的 ??

之前说是 emwin v5.32, 不知道现在最终是哪个版本的 ?? (2016-11-20 16:07) 
模拟器和例子全部使用5.32版本。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-8 10:06 , Processed in 0.214538 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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