OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8020|回复: 14

求助STemwin刷屏慢的问题,屏幕为原子最新10.1寸屏,

[复制链接]

1

主题

11

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2017-2-1
在线时间
8 小时
发表于 2018-10-20 11:37:45 | 显示全部楼层 |阅读模式
10金钱
本帖最后由 奥特曼打小怪兽 于 2018-10-20 11:40 编辑

    用STemwin做一个小飞机姿态仪,使用的是原子阿波罗F429开发板,UCOSIII+STemwin        _ShowAttitudeIndicator(&Context)中主要的流程如下:
             1.   pContext->hMemMask=GUI_MEMDEV_CreateFixed();   //创建Mask存储设备句柄   ( 形状接近为椭圆)
             2.   pContext->hMemScale=GUI_MEMDEV_CreateFixed();//创建Scale存储设备句柄     使用emwin的存储设备API画出:天空 ,地面 ,俯仰角度的刻度尺 (形状为                    大矩形)  
            3.   GUI_MEMDEV_RotateHQHR(pContext->hMemScale, pContext->hMemWork, mx + dx, my + dy, pContext->Roll, 1000);     //根据姿态信息roll和pitch对                                  hMemScale进行旋转和上下平移得到存储设备句柄pContext->hMemWork
            4.    GUI_MEMDEV_PunchOutDevice(pContext->hMemWork, pContext->hMemMask);   //使用Mask句柄对hMemScale句柄进行屏蔽,即只显示矩形中的椭圆覆盖区域
            5.    GUI_MEMDEV_Select(0);   //选择屏幕
                  GUI_MEMDEV_Write(pContext->hMemWork);  //将存储设备句柄hMemWork的内容显示出来

在UCOSIII的姿态显示任务中
        while(1)        {
                          Context.Pitch +=10*1000;
                           if(Context.Pitch >60000)Context.Pitch = -60000;
                            Context.Roll+=10*1000;
                          if(Context.Roll>60000)Context.Roll = -60000;
                                GUI_MULTIBUF_Begin();
                              _ShowAttitudeIndicator(&Context);    //此处为显示调用函数
                             GUI_MULTIBUF_End();                    
                            OSTimeDlyHMSM(0,0,0,1,OS_OPT_TIME_PERIODIC,&err);  //延时1ms
        }


       内存使用的是外部SDRAM,
       现在问题来了,显示姿态时的图片刷新特别慢,拉窗帘似的,大概一秒刷完。
矩形单色填充有DMA2D加速刷屏测试达到30.8M Pixels/s ,但是这只是单色填充。
JLINK调试发现函数GUI_MEMDEV_RotateHQHR();执行较慢,当执行GUI_MEMDEV_Write(pContext->hMemWork); 后开始刷姿态显示图片,一秒才刷完一帧,
想使用DMA2D来加速显示,但是STemwin不开源,不知道存储设备句柄是不是图片地址指针。







1538467593314_comp.jpg
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2017-2-1
在线时间
8 小时
 楼主| 发表于 2018-10-20 11:45:13 | 显示全部楼层
原子哥能说下看法吗?
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2018-10-20 20:55:43 | 显示全部楼层
如果是刷的图片的话慢很正常!
回复

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2017-2-1
在线时间
8 小时
 楼主| 发表于 2018-10-22 08:55:55 | 显示全部楼层
zuozhongkai 发表于 2018-10-20 20:55
如果是刷的图片的话慢很正常!

怎么可能!!
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2018-10-22 09:51:20 | 显示全部楼层

怎么不可能!又没有硬件图片解码!软解肯定慢!
开往春天的手扶拖拉机
回复

使用道具 举报

18

主题

323

帖子

1

精华

高级会员

Rank: 4

积分
935
金钱
935
注册时间
2017-12-11
在线时间
196 小时
发表于 2018-10-22 11:14:47 来自手机 | 显示全部楼层
429干这个7寸屏能到至少25帧以上,到不了。1,底层有问题。2,代码有问题。带实时刷新背景都能在7寸1/4屏上刷到12帧以上
回复

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2017-2-1
在线时间
8 小时
 楼主| 发表于 2018-10-22 11:21:37 | 显示全部楼层
zuozhongkai 发表于 2018-10-22 09:51
怎么不可能!又没有硬件图片解码!软解肯定慢!

我说的图是用emwin的api画的图,不是已经存好的图片。
回复

使用道具 举报

18

主题

323

帖子

1

精华

高级会员

Rank: 4

积分
935
金钱
935
注册时间
2017-12-11
在线时间
196 小时
发表于 2018-10-22 11:51:53 | 显示全部楼层
本帖最后由 wlq390934605 于 2018-10-22 12:09 编辑

飞行OSD 带摄像头刷背景, 模拟125帧; 原子板能在7寸上刷到1/4屏刷到12帧以上; 发个参考参考, 这种事不可能是能EMWIN的锅, 80%是代码问题, 20%是底层;

飞行器_OSD_APP.zip

4.64 MB, 下载次数: 181

回复

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2017-2-1
在线时间
8 小时
 楼主| 发表于 2018-10-22 14:48:08 | 显示全部楼层
wlq390934605 发表于 2018-10-22 11:51
飞行OSD 带摄像头刷背景, 模拟125帧; 原子板能在7寸上刷到1/4屏刷到12帧以上; 发个参考参考, 这种事不可能 ...

你所的刷屏有使用emwin的存储设备吗?
回复

使用道具 举报

18

主题

323

帖子

1

精华

高级会员

Rank: 4

积分
935
金钱
935
注册时间
2017-12-11
在线时间
196 小时
发表于 2018-10-22 18:01:16 | 显示全部楼层
本帖最后由 wlq390934605 于 2018-10-22 18:02 编辑
奥特曼打小怪兽 发表于 2018-10-22 14:48
你所的刷屏有使用emwin的存储设备吗?

你说呢??? 刷官方那种不更新背景的7寸屏可以到25帧以上没问题, 不过内存不能太垃圾, 图形跟内存有很大的关系, 比如同样是F767 跑NES, *火只能43, 原子直接60; 不跟新背景跑模拟200+
回复

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2015-7-10
在线时间
4 小时
发表于 2019-11-11 10:58:59 | 显示全部楼层
你好,楼主,我最近也在搞姿态仪,搞了半天不知道从哪里下手,有例程么,能否发一个参考下
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
14
金钱
14
注册时间
2020-3-3
在线时间
3 小时
发表于 2020-3-18 22:30:45 | 显示全部楼层
wlq390934605 发表于 2018-10-22 11:51
飞行OSD 带摄像头刷背景, 模拟125帧; 原子板能在7寸上刷到1/4屏刷到12帧以上; 发个参考参考, 这种事不可能 ...

速度可以啊,有分享代码吗
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
14
金钱
14
注册时间
2020-3-3
在线时间
3 小时
发表于 2020-3-18 22:31:14 | 显示全部楼层
楼主,解决了吗
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
14
金钱
14
注册时间
2020-3-3
在线时间
3 小时
发表于 2020-3-18 22:31:37 | 显示全部楼层
羁绊小二 发表于 2019-11-11 10:58
你好,楼主,我最近也在搞姿态仪,搞了半天不知道从哪里下手,有例程么,能否发一个参考下

你搞到了吗?
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2020-4-3
在线时间
4 小时
发表于 2020-5-23 11:37:43 | 显示全部楼层
这个要开启 存储器功能。。 将整个图片绘制到存储器,然后进行旋转等显示,,,

但是429 刷1280的图片 慢是肯定的 。主要瓶颈是 SDRAM.
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 15:37

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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