ESP-GSP
ESP-GSP:预编译 UI 框架
方案定位
ESP-GSP(Espressif Graphics Scene Processor)是乐鑫面向 ESP-IDF 的预编译 UI 框架。开发者使用 JSON 描述界面并提供图片、字体等资源,通过配套工具完成构建,再使用生成的 C 接口连接业务逻辑、更新界面。核心运行库以预编译库形式交付,客户通过公开接口和工具集成使用。
ESP-GSP 适合 界面结构在构建期确定、运行时更新数据和交互状态 的产品,支持动态文字、数值、图片、列表,以及动画、页面导航和触控交互。
主要优势
自动优化图片资源。 配套工具在构建过程中处理导入的图片资源,减少客户手工转换和优化素材的工作,有助于控制资源占用、降低设备运行开销。
面向 ESP 平台优化显示性能。 框架针对嵌入式界面的渲染与刷新进行优化,有助于提高动画、滚动和数据更新的流畅度,减少客户自行开展底层性能优化的工作。实际帧率和资源占用需结合目标硬件与界面负载测试确认。
界面与业务分离。 使用 JSON 维护界面,通过生成的 C 接口更新状态和处理交互,减少手写绑定代码,便于分别维护界面与产品功能。
支持主机预览和 AI 辅助开发。 可结合场景规范和控件文档,由 AI 辅助生成或修改 JSON 界面,并通过编译检查和主机模拟器验证布局与交互,加快界面迭代。
与其他 UI 框架相比的优势
ESP-GSP 更强调构建期预处理与配套开发流程,适合界面结构明确、希望减少设备运行负担和开发工作量的项目:
构建期预处理,减少运行时开销: GSP 结合界面定义,在构建阶段完成可提前处理的图片适配与资源优化工作。相较于基于运行时对象树的 UI 框架,可减少运行时资源处理负担,为界面刷新留出更多处理能力。客户只需维护界面和原始素材,由配套构建流程完成预处理。
帧率方面,减少运行负担、改善刷新流畅度: 对构建期已知的界面资源,提前完成可预处理的工作,结合面向 ESP 平台的显示优化,有助于缩短界面更新耗时,为动画、滚动和连续数据刷新提供更高帧率的空间。在资源处理或绘制开销较大的界面中,可重点评估这一收益;最终帧率仍受屏幕接口和硬件能力限制。
内存方面,按界面需求规划占用: GSP 可根据已确定的界面需求配置运行容量,配合资源预处理,减少不必要的运行时资源开销。对于原本需要在设备端临时处理图片的用法,可降低相应的临时内存需求,为业务功能留出更多 RAM/PSRAM 空间。图片资源优化也有助于控制 Flash 占用;Flash 与运行内存应分别评估,具体收益取决于资源配置。
界面开发更直接: 通过 JSON 描述界面,自动生成业务调用接口,并配套编译检查和主机预览,适合界面结构明确、希望快速迭代或引入 AI 辅助开发的项目。
推荐场景
适合智能家居、家电控制面板、仪表及带屏交互终端等界面结构相对明确的产品。当客户希望提升界面流畅度、减少图片资源处理工作,或通过 AI 辅助开发与 PC 预览加快 UI 迭代时,可推荐评估 ESP-GSP。
使用前需要确认
适配条件: 当前文档要求 ESP-IDF 6.0 或更高版本。接入前请核对所选发行版支持的芯片、屏幕及内存条件,并确认控件、交互和语言能力满足产品需求。
效果验证: 建议在目标硬件上,用代表性产品界面评估帧率、内存和触控体验;主机预览可用于辅助验证。
组件与版本: 请按所选发行版文档匹配组件和配套工具。核心运行库以预编译库形式提供,通过公开接口集成;如需修改核心实现,请先确认当前发行版是否支持。
资料入口
组件注册表: espressif/esp-gsp。
方案介绍: ESP-GSP 项目首页。
开发文档: 中英文文档入口,包含快速入门、控件、场景编写、C 接口、显示集成、兼容性和故障排查说明。
首次接入: hello_world 示例,用于跑通最小完整界面与板级显示链路。
效果展示: showcase 示例,用于了解产品界面、控件和交互效果;使用前核对示例分辨率和板级配置。
无硬件预览: 模拟器参考,提供预览、截图和自动化交互方法。
性能评估: benchmark 示例,用于在目标硬件上测量和比较实际负载。