【喂到嘴边了的模块】LVGL v9.4.0发布
时间:2026-09-22 22:00:13

【说在前面的话】
LVGL在2025年10月份发布了第四个维护更新,即v9.4.0版,此时的LVGL9已经相当稳定,如果你还在犹豫是否要从LVGL8升级到LVGL9,此时入手是一个不错的选择。相对LVGL8,LVGL9在设计理念上做了不小的调整:
- 从“追求小巧为主性能为辅”改为“追求图形性能为主、降低资源消耗为辅”——以此与“资源日趋丰富”的MCU发展趋势相适应。
- 在2D GPU的支持方面:
- 从过去死等硬件加速器完成操作,到现在的让CPU与GPU可以完全并行操作;
- 从过去只能连接一个2D加速方式,到现在理论上“同时”支持多个硬件加速方法存在,包括但不限于
- DMA2D
- 2DGPU
- 以 Helium和NEON为代表的 SIMD加速
- 专门用于图形处理的处理器内核
- LVGL8只能在Arm-2D(Helium加速)和2D GPU加速之间二选一,而LVGL9允许Arm-2D(Helium加速)和2D-GPU同时存在,并使用Arm-2D(Helium)为2D-GPU兜底——也就是将2D GPU做不了的事情丢回(fall-back)Helium加速后的软件去做。
- 过去为LVGL8提供加速可谓“开膛破肚”“极其暴力”——要想实现最佳的效果,不对LVGL的内核(sw draw)进行魔改是几乎不可能的事情。而LVGL9则提供了全新的 LVGL Intrinsics 机制——通过这些宏,可以简单、定向的为指定的2D操作提供加速。
- LVGL8允许用户通过设定颜色深度(LV_COLOR_DEPTH)的方式指定其内核所使用的颜色格式(16bit对应RGB565);而在LVGL9中LV_COLOR_DEPTH指定的只是用户屏幕所使用的颜色,内核为了追求性能统一使用ARGB8888作为颜色格式——换句话说,无论你的资源文件是怎样不同的格式,在运行时刻(Runtime),LVGL9的内核流水线都会将其首先转换为ARGB8888后再进行统一处理;同理处理好的显示缓冲只会在送往LCD进行刷新前,转换成用户所制定的颜色格式。
其它修改还包括“缩写风格”、“API名称”、“包括颜色格式在内的常见的枚举名称”、Benchmark的官方跑分算法、Widgets Demo的内容等等,这里就不一一列举。详情请参考官方文档,这里就不再赘述。
关于LVGLv8.4.x,它是 LVGL8 的维护性更新——只做了一些修修补补的工作——API保持不变,用LVGL做产品的小伙伴可以放心食用。关于LVGL8的部署和使用注意事项,大家可以参考





