试用 LVGL Pro,一套完整的工具包,助您高效构建、测试、分享和交付 UI!
LVGL
行业观察

LVGL、TouchGFX 与 Qt for MCUs 对比:性能旗鼓相当时,你究竟在为什么付费?

第三方基准测试在同一块 STM32 开发板上运行相同的 UI,对比了 LVGL、TouchGFX 和 Qt for MCUs。结果显示三者在性能和内存上基本相当,而这彻底改变了选型的关键。

加博尔·基什-瓦莫希加博尔·基什-瓦莫希11 分钟阅读
LVGL、TouchGFX 与 Qt for MCUs 对比:性能旗鼓相当时,你究竟在为什么付费?

在嵌入式 UI 领域有一个常见的假设:要么多花钱,要么接受更紧的硬件锁定,以此换取更好的性能。Silicon Signals 近期的一项第三方基准测试对这个假设做了检验:他们构建了相同的 UI,在相同的硬件上运行,并将 LVGL、TouchGFX 和 Qt for MCUs 放在一起逐项对比。

最有意思的是测试结论。在性能和内存方面,这三款框架基本处在同一水平。而一旦原始性能不再是区分点,真正值得追问的问题就浮现了:当你选择一款商业或被厂商锁定的框架时,你到底在为什么买单?

基准测试是如何搭建的#

为了保证对比公平,每款框架都在同一块开发板、同一个 RTOS 下渲染同一组共六个演示界面。

STM32U5G9J-DK2 探索套件
FrequencyArm Cortex-M33
RAM3 MB internal SRAM
Flash4 MB internal + Octo-SPI external
Display5″ TFT, 800×480, capacitive touch
InterfaceParallel RGB
外设
NeoChrom GPUChrom-ART (DMA2D)

这六个演示界面经过精心挑选,分别用来给渲染管线的不同环节施压:

  • 静态界面:形状、渐变、alpha 混合(基线 / 空闲负载)
  • 2D 界面:旋转与平移的图像
  • SVG 界面:带动画的矢量图形
  • 视频界面:全屏播放“Big Buck Bunny”(TouchGFX 在运行时解码 MJPEG;LVGL 和 Qt 回放预先解码好的 JPEG 帧)
  • 文本滚动界面:持续滚动的文本
  • 仪表盘界面:完整的汽车仪表盘

LVGL 测试使用的是 9.4.0 版本,搭配全新的 LVGL Editor,运行在 FreeRTOS 10.4.6 上,这也是三款框架共用的操作系统。

性能:旗鼓相当#

下面是各演示界面的 CPU 占用与渲染时间数据。这些数字互有胜负:每款框架都在某些演示中领先、在另一些演示中落后,但三者都稳稳处于实时渲染的水平。大多数渲染时间都在 12 毫秒以内。文本滚动是唯一的例外,LVGL 和 TouchGFX 在这一项都落在 20–28 毫秒的区间。

演示界面LVGLTouchGFXQt for MCUs
静态2% / 1–3 ms6–8% / 0–1 ms<1% / 3 ms
2D30–33% / 3–4 ms7% / 3 ms5–6% / 8–9 ms
SVG15–16% / 9–12 ms23–26% / 7–9 ms14–15%* / 6 ms*
视频5–6% / 5–6 ms4% / 4 ms<1% / 5 ms
文本滚动4–5% / 23–28 ms59–62% / 20–22 ms2% / 9–10 ms
仪表盘12% / 8 ms10% / 1–2 ms2–3% / 8–9 ms
如何解读这些数字

每个单元格的格式是 CPU 占用 % / 渲染时间(毫秒)。没有哪一款是全面赢家:TouchGFX 在视频演示上最轻,仪表盘的渲染时间也最短,却在文本滚动中飙升到 59–62% 的 CPU 占用,在 SVG 中也达到 23–26%;LVGL 在视频上同样很轻松,但在 2D 演示中负载偏高。需要注意的是,TouchGFX 在运行时解码视频,而 LVGL 和 Qt 回放的是预先解码好的帧,因此这一行并非同等条件下的比较。Qt for MCUs 在多数演示中 CPU 占用最低,不过其中一部分来自把工作挪到了编译期,而不是运行时更快:它的 SVG 资源是预渲染的位图,文本演示使用的是静态文本控件。实际的结论是:三款框架都能在这套硬件上流畅渲染相同的 UI。

SVG 那个星号很关键

Qt for MCUs 不支持运行时渲染 SVG。它的 SVG 资源是在编译期预先渲染成位图并烘焙进固件中的,这正是其 SVG 数据被标注 * 的原因。LVGL 和 TouchGFX 都在运行时渲染 SVG,其中 LVGL 通过自带的 SVG 引擎并借助 NeoChrom GPU 加速。

内存:同样旗鼓相当,但 LVGL 有一处优势#

内存使用情况也讲述着相同的故事。三款框架在 RAM 和内部闪存上都落在很窄的区间内。唯一拉开差距的是外部闪存,而 LVGL 在这一项上以明显优势用得最少。

指标LVGLTouchGFXQt for MCUs
总 RAM2164 KB1975 KB1719 KB
内部闪存559 KB426 KB519 KB
外部闪存24 MB44 MB80 MB

LVGL 的外部闪存占用为 24 MB,而 TouchGFX 为 44 MB、Qt 为 80 MB,这在很大程度上得益于 NeoChrom GPU 上 GPU 加速的 TSC6 纹理压缩。在外部闪存确实计入成本的物料清单(BOM)中,这样的差距绝不是可以忽略的噪声。

那么,你究竟在为什么付费?#

如果三款框架都能以同样的画质渲染相同的 UI,且 CPU 与内存表现相近,那么性能就不再是它们之间的区分点。剩下的就是许可方式和可移植性,而正是在这里,局面发生了急剧的变化。

LVGLTouchGFXQt for MCUs
许可证✅ MIT(开源)ST SLA0048商业许可
费用✅ 免费免费付费
版税✅ 无无视许可证而定
硬件✅ 任意厂商的 MCU / MPU仅限 STM32部分指定平台
可移植性✅ 高低(锁定 STM32)中等

由此可以直接得出两个结论:

为什么要为 Qt for MCUs 付费? 如果付费许可能换来明显更好的性能,这笔账或许还算得过来。但基准测试表明事实并非如此。Qt 拿出的结果,和一款免费且 MIT 许可的框架相差无几,而且它最低的那几个 CPU 数字,有一部分来自编译期的预渲染,而不是运行时更快。你付费买到的是工具和支持,而不是更快的 UI。与此同时,你还要接受三者中最大的外部闪存占用,以及不支持运行时 SVG 的限制。

为什么要接受 TouchGFX 的厂商锁定? TouchGFX 是免费的,但只限于 STM32。一旦你的产品路线图触及 NXP、Espressif、Renesas、某款 MPU 或嵌入式 Linux,你就得重写 UI。而 LVGL 能在上述所有厂商和平台上运行同一套代码,从裸机 Cortex-M 到 Linux MPU,你只需替换显示和输入驱动即可。

当性能旗鼓相当时,那款免费、开源、并且能跑在任意芯片上的框架,才是为你保留所有选择余地的那一个。

LVGL 在带来这份性能对等的同时,没有许可费、没有版税、没有厂商锁定,背后还有一个 600 多名贡献者的社区在支撑,而这一切都在宽松的 MIT 许可证之下。

自己动手复现#

这项基准测试最棒的地方在于,你完全不必听信任何人的一面之词。Silicon Signals 开源了全部三个演示项目,你可以把它们烧录到 STM32U5G9J-DK2 上亲自测量。

Silicon-Signals/stm32u5g9j-dk2-lvgl-benchmark

This repository contains benchmark test projects developed for the STM32U5G9J-DK2 board using LVGL.

C20

TouchGFX 和 Qt for MCUs 的演示项目位于同一个组织下:

Silicon-Signals/stm32u5g9j-dk2-touchgfx-benchmark

This repository contains benchmark test projects developed for the STM32U5G9J-DK2 board using TouchGFX.

C++10
Silicon-Signals/stm32u5g9j-dk2-qt-benchmark

This repository contains benchmark test projects developed for the STM32U5G9J-DK2 board using Qt for MCU.

QML00

总结#

性能往往是各团队在挑选嵌入式 GUI 框架时最先比较的指标,而在这套硬件上,它实际上打成了平手。这其实是个好消息,因为它让选型可以落到那些真正具有长远影响的因素上:许可成本与硬件自由度。

在这两点上,LVGL 都是显而易见的选择。性能相同、零成本、任意芯片。如果你想上手,借助官方文档和 PC 模拟器,你可以在一个下午之内跑起一个完整的 UI,而且是在你自己选定的硬件上。

本次基准测试由产品工程公司 Silicon Signals 完成。阅读完整博客文章和白皮书。

关于作者

加博尔·基什-瓦莫希
加博尔·基什-瓦莫希

LVGL 创始人

LVGL 的创始人和首席开发者,这是一个被全球数百万设备使用的开源嵌入式图形库。

认识博客背后的作者们

了解那些分享 LVGL 知识的优秀作者们

查看作者

订阅我们的通讯 不错过任何关于 LVGL 的新闻。我们每月最多发送 2 封邮件。

LVGL

LVGL 是最受欢迎的免费开源嵌入式图形库,支持任何 MCU、MPU 和显示类型,助您构建精美的用户界面。

我们还提供 UI 设计、实现和咨询等服务。

© 2026 LVGL。保留所有权利。
YouTubeGitHubLinkedIn