硬汉嵌入式论坛

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

[LTDC] 问题求助:LVGL 只是局部显示 LTDC 与LVGL的匹配策略

[复制链接]

1

主题

5

回帖

8

积分

新手上路

积分
8
发表于 2025-6-14 01:42:54 | 显示全部楼层 |阅读模式
个人觉得LVGL的接口设计和资料文档给的很粗糙,不太好用。也可能是自己没有学到位。STM32H743IIT6    SRAM/SDRAM    裸机    8000x480    RGB888    LVGL9.2.0  部份flush

问题:我做一个简单的demo验证只能显示局部,就是  static void disp_flush(lv_display_t * disp_drv, const lv_area_t * area, uint8_t * px_map) 这个回调函数给的事实信息,我只能更新它这个变化量。目前暂时没有思路去实现流畅的demo显示。
我个人的想法是:
1. LTDC的支持特性到底强到什么程度,支持的细节能用来怎么最大化我们迎合LVGL的显示策略
2. LVGL的drawing帧通过API提供的现场信息,感觉只有那个 flush 回调函数,怎么去发觉这个回调函数里的所有信息,官方网站也没有很详细的说明。感觉这个 flush_CB 就是实时的屏幕上的某一片区应该显示的内容。

我的问题是:即使做一个最简单的等待圆环的显示组件,LVGL都显示不完整,只能动态跳转一个圆环的四分之一。我在想是不是我没有充分认识到LTDC的支持特性和LVGL的API接口信息。
请各位前辈多多指导。提提看您平时怎么使用LTDC最大化LVGL,他们是怎么协作的。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117529
QQ
发表于 2025-6-14 07:51:15 | 显示全部楼层
DMA2D加速是不是没用上,还有几个接口可以优化。

之前整理的,供参考

基于V5,V6和V7的LVGL模板,驱动支持单缓冲,双缓冲和配合硬件消隐的双缓冲,以及电容和电阻触摸全支持(2023-07-19)
https://forum.anfulai.cn/forum.p ... 0161&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

38

主题

76

回帖

190

积分

初级会员

积分
190
发表于 2025-6-16 10:40:56 | 显示全部楼层
应该是你自己没理解到位,官方的demo运行圆环都很流畅的。我自己用STM32H7B0跑LVGL,还是用的FMC接口,分辨率没你的大,只有320x240, 刚开始移植官方demo,最大只能跑96帧,运行官方的某些demo还比较卡,刚开始我也很绝望,后来不断的百度,上论坛问,查资料,现在优化后跑官方demo能到276帧,帧率有3倍的提升,我把LVGL所有的官方Demo都跑了一遍,都流畅的一批!所以还是优化问题。你这都有LTDC,DMA2D加持,应该更强才对。
回复

使用道具 举报

2

主题

7

回帖

13

积分

新手上路

积分
13
发表于 2025-6-16 14:23:08 | 显示全部楼层
lvgl的刷新策略大体上是尽量只刷新有变动的部分,全屏刷新很少。
我觉得这套配置会卡,更多的应该不是lvgl这个库的原因,更多的还是优化的问题
比如:
驱动RGB888 800*480分辨路的屏幕,外部SDRAM的带宽理论上能达到多少帧?用16bit的SDRAM指定是卡的嗷嗷叫,关于这个问题硬汉大佬发过帖子,有详细介绍
DMA2D有没有用起来
cache加速有没有配置
编译优化,lvgl这个库不同优化等级下,帧率差异很大
回复

使用道具 举报

1

主题

5

回帖

8

积分

新手上路

积分
8
 楼主| 发表于 2025-6-21 19:30:41 | 显示全部楼层
我lvgl是局部渲染 局部搬运,显示是全帧。如果LTDC不是全帧刷新的话,一旦更新以后,显示区域内正常。区域外填充的是这个图层的默认颜色。也就是说区域外都是非法显示,就是不能保持更新区域外的显示画面保持不变。这是我遇到的关键问题。
回复

使用道具 举报

1

主题

5

回帖

8

积分

新手上路

积分
8
 楼主| 发表于 2025-6-21 20:48:59 | 显示全部楼层
就是说,我有没有办法让LTDC的下一次刷新只更新必要的显示区域,不更新的区域可以保持不变。这样就完美了。
11111.jpg
回复

使用道具 举报

1

主题

5

回帖

8

积分

新手上路

积分
8
 楼主| 发表于 2025-6-30 14:54:27 | 显示全部楼层
纯RGB接口的,一般面板没有 GRAM ,这种类型的面板,只能做全帧缓冲区。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-12 11:44 , Processed in 0.045719 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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