LittleVGL 屏幕刷新卡顿解决

LittleVGL 5.3.0

        RT-Thread Studio 中自带 LittleVGL5.3.0

        开源GUI,纯C实现,代码实现方便,嵌入式首选GUI。

最近才开始用这款GUI,开发平台:STM32F429带外部SRAM

在使用中发现,当快速更新显示的某个变量时,会出现卡顿,撕裂

后来,修改了显存大小,使能双显存,完美解决

实现方式非常简单

如下:

打开lv_conf.h

修改以下四个宏定义

#define LV_VDB_SIZE         (2 * LV_HOR_RES * LV_VER_RES)
#define LV_VDB_ADR          0XC0400000                 
#define LV_VDB_DOUBLE       1      
#define LV_VDB2_ADR         (LV_VDB_ADR + LV_VDB_SIZE)   

LV_VDB_SIZE         显存大小

LV_VDB_ADR          显存地址,本人使用SRAM,起始地址0xC0000000,前4M用于网口,显存分配

                                 从0xC0400000开始

LV_VDB_DOUBLE       使能双显存

LV_VDB2_ADR         第二显存地址

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
当Qt应用程序全屏刷新卡顿时,可能有以下几个原因: 1. 图形资源使用过多:全屏刷新意味着每一帧的图形资源都需要被重新渲染和绘制,如果应用程序中使用的图形资源过多,会导致绘制过程变得缓慢,从而导致卡顿。可以考虑优化图形资源的使用,如合并图像、减少绘制次数等方式。 2. 事件处理时间过长:全屏刷新意味着每一帧都会触发许多事件,如鼠标、键盘等输入事件,以及定时器事件等。如果事件处理时间过长,会导致绘制过程被阻塞,从而引起卡顿。可以考虑对事件处理进行优化,如减少不必要的事件处理、将耗时操作放在后台线程中处理等方式。 3. CPU性能不足:全屏刷新需要大量的计算和绘制操作,如果CPU性能不足,会导致程序无法及时完成绘制,从而引起卡顿。可以考虑降低绘制负载,如减少绘制的复杂度、降低帧率等方式。 4. 内存管理问题:全屏刷新可能需要大量的内存来存储图像数据等信息,如果存在内存泄漏或不当的内存管理,会导致内存不足,从而引起卡顿。可以使用合理的内存分配和释放策略,避免内存泄漏和内存碎片化。 综上所述,Qt应用程序全屏刷新卡顿问题可能是由于图形资源使用过多、事件处理时间过长、CPU性能不足或内存管理问题等因素造成的。针对具体问题,需要进行详细的分析和优化,以提高全屏刷新的性能和流畅度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值