LVGL显示优化 您所在的位置:网站首页 中国邮政网点查询电话号码 LVGL显示优化

LVGL显示优化

2023-08-22 12:01| 来源: 网络整理| 查看: 265

一、基本优化

    这里阶段的优化是改变LVGL的一些基本设置,以提升帧数

    1、LVGL帧率限制

    首先,LVGL是有一个帧率刷新周期的宏定义,在lv_conf.h里。LVGL会通过LVGL内部的tick,定时去刷屏幕,也就是说该宏定义限定了LVGL刷屏帧率的上限,默认满帧33帧。

    这里我们直接改成10ms刷新一次,满帧100帧。顺手再把输入设备读取周期也改成10ms

    2、刷屏方法效率

        不要使用画点函数,例如以下,效率很低

    3、代码优化等级

    CUBEMX生成的项目默认是arm compiler v5 + -O3 ,是性能较好的配置,不过大家自己移植lvgl未使用cubemx等代码生成工具,可能为了调试方便使用了O0优化等级,这个影响很大,429平台上帧率提升高达33%,-o3需要注意一下代码优化问题,善用volatile关键字,所以我这里还是选-O2吧,工程里也常用O2。下面的optimize fot time 也勾上

    4、编译器版本

    尽量用arm compiler5

    5、LV_DPI_DEF配置

    在lv_conf.h里配置DPI

    6、堆栈设置

    官方有给推荐值

    我们可以在STM32的启动文件里配置,我这里配置栈是8KB,堆不是这里设置。或者说是定义一个宏,LVGL会自己去配置堆。先是栈:

    堆设置:

    由 lv_conf.h 中的 LV_MEM_SIZE 宏进行设置,建议是大于16bB,我这里配置成32B。

    7、显存大小更改

    依据来自下面up主的测试

    直接看结论

    所以我们修改显存,打开lv_port_disp_template.c修改成如下:

    效果显著,当然担心sram不够的话,还可以把地址,指向外部sram。虽然那个视频里说了,外部sram速度会慢,但是显存空间大了速度又会快。在外部sram下使用全尺寸显存,还是会比sram里非全尺寸快的。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有