硬汉嵌入式论坛

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

[emWin] 补齐emwin一项重大短板,小内存单片机使用分段绘制方法研究——Part 2 分段绘制效果演示

[复制链接]

3

主题

17

回帖

26

积分

新手上路

积分
26
发表于 2021-9-4 10:21:36 | 显示全部楼层 |阅读模式
本帖最后由 zysxdg 于 2021-9-4 10:32 编辑

接上篇,先来一个使用分段绘制方式驱动 SPI TFT 实际效果演示

测试条件:
单片机:STM32F407ZET6 内部SRAM总共192kB 优化等级-o2
屏幕:320*240TFT 4线SPI 驱动芯片ST7789V
测试参数:主频168M SPI频率42M

测试例程简介:
emwin分配内存配置为40*1024,无其他显示缓存。
背景为一个320*240全屏窗口,两张背景图片定时切换,创建30个40*40大小移动窗口,显示狗子图片,并向下移动,超出边界后回到顶部。

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115815
QQ
发表于 2021-9-4 11:02:51 | 显示全部楼层
效果一般,相比H750驱动ST7789差太多了。

之前的测试H750驱动SPI接口,240*240的IPS屏性能测试,16位色刷新整个屏。
1、模拟SPI方式,一屏时间60多ms
2、硬件SPI,发送16bit数据,40多ms
3、硬件SPI,发送32bit数据,30多ms
4、SPI DMA方式,18ms左右。
回复

使用道具 举报

2

主题

58

回帖

74

积分

初级会员

积分
74
发表于 2021-9-4 13:13:34 | 显示全部楼层
eric2013 发表于 2021-9-4 11:02
效果一般,相比H750驱动ST7789差太多了。

之前的测试H750驱动SPI接口,240*240的IPS屏性能测试,16位色 ...

硬件SPI用的是多少M频率
回复

使用道具 举报

3

主题

17

回帖

26

积分

新手上路

积分
26
 楼主| 发表于 2021-9-4 13:21:59 | 显示全部楼层
eric2013 发表于 2021-9-4 11:02
效果一般,相比H750驱动ST7789差太多了。

之前的测试H750驱动SPI接口,240*240的IPS屏性能测试,16位色 ...

能放下整个显存的情况下就不需要分段绘制了。就算是H7,直接使用emwin提供的存储设备绘制WM,不用2D加速的条件下,也比较难达到UI流畅的效果。这系列的讨论目的在于最终实现在STM32G0这类入门级32位单片机在不借助外部SRAM,仅使用内部RAM的情况下也能实现简单动画效果,就像TouchGFX, Embedded Wizard那个展示视频差不多的效果。
回复

使用道具 举报

3

主题

17

回帖

26

积分

新手上路

积分
26
 楼主| 发表于 2021-9-4 13:27:57 | 显示全部楼层
最终希望达到这种效果:
Embedded Wizard和TouchGFX在STM32G0上的刷新效果对比
http://www.armbbs.cn/forum.php?m ... 2&fromuid=25998
(出处: 硬汉嵌入式论坛)
视频中的开发板就是SPI接口的320*240 TFT液晶,仅在36K的内存下就实现了比较炫酷的UI效果
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115815
QQ
发表于 2021-9-4 14:54:53 | 显示全部楼层
Jmhh247 发表于 2021-9-4 13:13
硬件SPI用的是多少M频率

H7可以刷到50-100MHz。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115815
QQ
发表于 2021-9-4 15:02:24 | 显示全部楼层
zysxdg 发表于 2021-9-4 13:21
能放下整个显存的情况下就不需要分段绘制了。就算是H7,直接使用emwin提供的存储设备绘制WM,不用2D加速 ...

分段起不到加速的作用,他主要目的还是解决局部整体绘制,降低撕裂。

emWin本身的窗口存储设备,就是分段机制,用户合理优化地方,特别是16bpp的地方做好DMA加速绘制(不是2D加速,就是普通的DMA传输),效果还是还是可以的。早期我们H7-TOOL用的这个ST7789屏,我就是这么玩的。

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115815
QQ
发表于 2021-9-4 15:05:08 | 显示全部楼层
zysxdg 发表于 2021-9-4 13:27
最终希望达到这种效果:
Embedded Wizard和TouchGFX在STM32G0上的刷新效果对比
http://www.armbbs.cn/for ...

Embedded Wizard那个不流畅,只有几帧。

TouchGFX那个,你要细观察的话,在切换不同的界面的时候,会看到撕裂感。
回复

使用道具 举报

3

主题

423

回帖

432

积分

高级会员

积分
432
发表于 2021-9-4 15:19:49 | 显示全部楼层
楼主跟硬汉不在同一个频道,可能只有我能理解楼主想要解决的问题。
回复

使用道具 举报

3

主题

423

回帖

432

积分

高级会员

积分
432
发表于 2021-9-4 15:21:59 | 显示全部楼层
H7完全有能力放下240*240的全屏数据,对于小单片机就像“饱汉不知饿汉饥”
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115815
QQ
发表于 2021-9-4 15:33:08 | 显示全部楼层
glory 发表于 2021-9-4 15:19
楼主跟硬汉不在同一个频道,可能只有我能理解楼主想要解决的问题。

我也觉得没在一个频道。

分段式那个切换不同界面时的撕裂,看着比较难受,分段式很难解决这个问题。楼主那个视频里面切换不同图片的瞬间就有撕裂,断层。

当然,有比没有好,局部也整体刷新了下,统一主题界面下,效果还是可以的。

回复

使用道具 举报

3

主题

423

回帖

432

积分

高级会员

积分
432
发表于 2021-9-4 15:54:39 | 显示全部楼层
绘图1.jpg
回复

使用道具 举报

3

主题

17

回帖

26

积分

新手上路

积分
26
 楼主| 发表于 2021-9-4 17:02:53 | 显示全部楼层

其实我想实现的就是改进模式这种方式,你这个图清晰明了
回复

使用道具 举报

3

主题

17

回帖

26

积分

新手上路

积分
26
 楼主| 发表于 2021-9-4 17:09:33 | 显示全部楼层
eric2013 发表于 2021-9-4 15:33
我也觉得没在一个频道。

分段式那个切换不同界面时的撕裂,看着比较难受,分段式很难解决这个问题。楼 ...

是的,我目前这个还是有撕裂的,原因有两方面,一是SPI传输速度不够,只能到30帧。二是因为用的这个屏硬件上没输出TE同步信号给到单片机,如果有同步信号和单片机刷屏同步一下,就可以避免撕裂效应了。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-21 06:56 , Processed in 0.465244 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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