当前位置: 首页 > news >正文

ESP32-LVGL 开发笔记(三):性能监控

目标

这一次的任务就比较简单了😚,目标只有一个🤓🤓,那就是

  • 开启性能检测

系统监视器介绍

lvgl 提供了实时的系统监控功能,可以在屏幕上显示 帧率CPU利用率等系统信息,当然,也可以利用串口打印
官方文档说明:

  • System Monitor (sysmon) - LVGL 9.4 documentation

配置

准备工作

开启系统监控只需要开启几个配置,添加几行代码即可
配置模板路径:

managed_components\lvgl__lvgl\lv_conf_template.h

copy 模板至 main 文件夹下,重命名为 lv_conf.h

  1. 启用配置文件
#if 1 /* Set this to "1" to enable content */
  1. 使能 lv_conf.h 配置
    esp-idf 默认不会使用 lv_conf.h 中的配置,要想我们的配置生效,需要修改 sdkconfig 中的配置
    点击下方 status bar 的⚙,滚动至下方 lvgl 的配置
    ![[ESP32-LVGL 开发笔记(三):性能监控-1763020276487.png|443x51]]
    ESP32-LVGL 开发笔记(三):性能监控-1763020276487

  2. 添加编译路径

/** Copy this file as `lv_conf.h`* 1. simply next to `lvgl` folder* 2. or to any other place and*    - define `LV_CONF_INCLUDE_SIMPLE`;*    - add the path as an include path.*/

根据注释说明,我们把 lv_conf.h 直接放在 lvgl__lvgl 文件夹下,但是这样的话一旦 clean 清除,我们的配置也会消失,所以选择第二种方法
在项目根目录下的 CMakeLists.txt 中添加编译选项,完整内容如下:

# The following lines of boilerplate have to be in your project's
# CMakeLists in this exact order for cmake to work correctly
cmake_minimum_required(VERSION 3.16)# 添加编译选项
add_compile_options(-DLV_CONF_PATH=\"${CMAKE_SOURCE_DIR}/main/lv_conf.h\")include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(03_system_monitor)

这个配置,我是参考了下面这个帖子

  • ESP-IDF: LVGL as managed component, lv_conf.h where? - Get started - LVGL Forum

开启系统监控配置

结合 文档 说明,开启系统监控配置

#define LV_USE_LABEL      1/** 1: Enable an observer pattern implementation */
#define LV_USE_OBSERVER 1// 启用系统监控组件
/** 1: Enable system monitor component */
#define LV_USE_SYSMON   1/* Main sysmon enable */
#define LV_USE_SYSMON 1// 性能监控
/* Performance monitor (CPU% and FPS) */
#define LV_USE_PERF_MONITOR 1// 内存监控
/* Memory monitor (used + fragmentation) */
#define LV_USE_MEM_MONITOR 1// 控制台输出,暂不开启
/* Optional: log to console instead of screen */
#define LV_USE_PERF_MONITOR_LOG_MODE 0

接着在 main.capp_main_display 中添加监控组件,完整代码如下:

static void app_main_display(void)
{/* Task lock */lvgl_port_lock(0);/* Your LVGL objects code here .... */// lv_example_get_started_1();// lv_example_get_started_2();lv_example_get_started_4();/* Create generic monitor */lv_sysmon_create(lv_display_get_default());/* Create performance monitor */lv_sysmon_show_performance(NULL); /* NULL = default display *//* Create memory monitor */lv_sysmon_show_memory(NULL);/* Task unlock */lvgl_port_unlock();
}

效果展示
ESP32-LVGL 开发笔记(三):性能监控-1763020484350

左下角是内存信息,右下角是性能信息。屏幕比较小,可以选择在左上角选择展示内存西信息
ESP32-LVGL 开发笔记(三):性能监控-1763020693322

可以自行尝试修改配置查看效果,至此性能监控的内容就结束了🥳🥳🥳

http://www.jsqmd.com/news/57441/

相关文章:

  • 2025 阿联酋经济部商标注册平台 TOP4 实测:流程、费用与使用指南全解析
  • 2025 墨西哥商标注册渠道怎么选?3 大主流渠道测评 + 避坑指南
  • 2025年8款免费AI论文写作神器推荐!毕业论文轻松搞定
  • Typora的基础使用 - Edward
  • DP题单-衔接版
  • TCP/IP是什么?OSI又是什么? - 实践
  • 实用指南:(ACP广源盛)GSV6155---带嵌入式微控制器(MCU)和电源传输(PD)控制器的 Type-C/DisplayPort 1.4 信号中继器
  • 敏捷冲刺随笔-5
  • 美国商标注册代理公司哪家强?2025 实测榜单,注册成功率一目了然
  • 2025 国际商标注册平台测评:8 大头部机构实力排行 + 适配指南
  • 2025 印尼商标注册服务商哪家好?3大平台测评,帮你避开 90% 的坑
  • 从赋能到共创:技术负责人的团队赋能五层次模型
  • 【数位之和】除法和取余的使用
  • 基于空间变化单层神经网络先验的贝里标量-图像回归
  • 20251130-学习第一天
  • zy_蓝桥杯_C++学习系列一_语法基础
  • Spring Framework源码解析——AsyncConfigurer - 实践
  • 20232415 2025-2026-1 《网络与系统攻防技术》实验八实验报告
  • Linux 进程资源占用分析指南 - 指南
  • 租房买房必看5这种“恶山”格局,让你努力工作也存不住钱,背后小人不断!
  • python笔记-条件判断
  • AI自动视频剪辑的开源模型盘点
  • 日总结 33
  • STM32 Cmake平台上对print进行串口重定向的方法
  • Github 学生认证保姆级教程 - 狼人:
  • 【口碑好的/比较好的/靠谱的】螺杆挤出机公司/工厂/厂家推荐/排行榜 哪家好/强/靠谱
  • liunx材料及目录管理和vim编辑
  • 游戏_CS_地图
  • Codeforces Div2 2025.11.28
  • 2025北京上门收酒指南:行业洗牌下 京城亚南酒业凭三维优势成市民首选