c++ - iMX6 上的 Qt5 : performance advantage on running on platform eglfs vs xcb

标签 c++ linux qt qt5 egl

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

应用程序在 Linux 上运行。

Linux 内核是 3.10.17。

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

Qt 版本是 5.2.1。

我试图运行指定平台 eglfs 的应用程序(据我所知,它应该直接在 Linux 帧缓冲区上工作)而不是默认的 xcb (这需要 X 服务器)。 但是我无法让它工作(这篇文章中描述了问题:"EGL Error : could not create the EGL surface: error 0x300b" on i.MX6 when running Qt5 application with -platform eglfs)。

我的问题是: 如果我成功了,在 CPU 负载方面,eglfs 是否会比 xcb 有显着的性能提升?

最佳答案

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

此外,QtQuick2 与 eglfs 配合得很好,它在我们的 IMX6-Rex 板上非常流畅和高质量。

关于c++ - iMX6 上的 Qt5 : performance advantage on running on platform eglfs vs xcb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41169194/

相关文章:

c++ - 一个类的令人惊讶的构造函数!

c++ - 一个矩形(两个相连的四边形)有两个纹理 - 它们的公共(public)边界有错误

linux - 如何在我的大学服务器上安装 vim 插件?

c++ - 在 Qt Creator 中将字符数据转换为 QString

c++ - 使用 std::string 的 std::hash 特化而不构造字符串对象

python - Python 中的跨平台音频播放

linux - 没有元数据的 tar 存档

c++ - Qt - 查找鼠标屏幕 x,y - 即使应用程序已关闭

linux - 以 QT 方式使用 linux 套接字?

c++ - 如何使用基本循环创建二维数组矩阵