LVGL显示优化 | 您所在的位置:网站首页 › 中国邮政网点查询电话号码 › LVGL显示优化 |
一、基本优化 这里阶段的优化是改变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 实验室设备网 版权所有 |