iMX6上的Qt5:在平台eglfs上运行的性能优势与xcb相比

Qt5 on iMX6: performance advantage on running on platform eglfs vs xcb

本文关键字:性能 相比 xcb 运行 Qt5 上的 eglfs 平台 iMX6      更新时间:2023-10-16

我有一个Qt5应用程序Qwt使用库来绘制一些轨迹,具有图形缩放和其他一些简单的Qt小部件,如QLabelQPushButtonQScrollBarQFrame等。

该应用程序在 Linux 上运行。

Linux 内核是 3.10.17。

发行版是 Ubuntu 14.04.4 LTS(可信)。

Qt版本是5.2.1。

我试图运行指定平台eglfs的应用程序(据我所知,它应该直接在 Linux 帧缓冲器上运行)而不是默认xcb(需要 X 服务器)。 但是我无法让它工作(这篇文章中描述了问题:"EGL 错误:使用 -platform eglfs 运行 Qt5 应用程序时,无法在 i.MX6 上创建 EGL 表面:错误0x300b")。

我的问题是: 如果我成功了,就 CPU 负载而言,eglfsxcb方面是否会有显着的性能改进?

我没有看到Qt的eglfs或xcb平台之间的巨大差异,甚至xcb有时也更流畅。 例如,鼠标移动在 XCB 中非常平滑,而在 EGLFS 中则不然。 但是,如果您使用 QGlPainter 而不是 QPainter,并相应地使用 QGlWidget 而不是 QWidget,将会有巨大的改进。

此外,QtQuick2 可以很好地与 eglfs 配合使用,它在我们的 IMX6-Rex 板中非常流畅和高质量。