iMX6上的Qt5:在平台eglfs上运行的性能优势与xcb相比
Qt5 on iMX6: performance advantage on running on platform eglfs vs xcb
我有一个Qt5
应用程序Qwt
使用库来绘制一些轨迹,具有图形缩放和其他一些简单的Qt小部件,如QLabel
,QPushButton
,QScrollBar
,QFrame
等。
该应用程序在 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 负载而言,eglfs
在xcb
方面是否会有显着的性能改进?
我没有看到Qt的eglfs或xcb平台之间的巨大差异,甚至xcb有时也更流畅。 例如,鼠标移动在 XCB 中非常平滑,而在 EGLFS 中则不然。 但是,如果您使用 QGlPainter 而不是 QPainter,并相应地使用 QGlWidget 而不是 QWidget,将会有巨大的改进。
此外,QtQuick2 可以很好地与 eglfs 配合使用,它在我们的 IMX6-Rex 板中非常流畅和高质量。
相关文章:
- 删除一个线程上有数百万个字符串的大型哈希映射会影响另一个线程的性能
- 与普通变量相比,仅仅读取原子变量的性能有什么不同吗
- 与纯 V8 相比,NodeJS 是否有任何性能缺陷或显著开销?
- 与libc相比,Gnu科学图书馆的性能较差
- 与其他输入相比,达到 65535 时的性能大幅跳跃
- 内存移动的性能与memcpy相比是两倍?
- 与保留模式GUI相比,使用直接模式GUI的性能含义是什么?
- iMX6上的Qt5:在平台eglfs上运行的性能优势与xcb相比
- 与C-string('malloc'+'memcpy')相比,'std::string'的性能真的很差
- 与英特尔相比,GNU C++编译器在对向量进行排序时性能较差
- 与直接编译的可执行文件相比,linux.so的性能有所下降
- 与天真计算相比,FMA性能
- 与单线程相比,c++/java的多线程性能结果参差不齐
- 在填充Int32Array时,Node.JS的性能与本机C++插件相比
- 与 C 相比,内联装配性能优势
- 与纹理阵列相比,使用TextureArray的性能优势
- 与指针相比,链式公共成员访问的性能
- 多维数组的性能与对象数组的性能相比如何?
- 与ppl或OpenMP相比,使用boost::thread可以获得更好的并行任务性能
- Julia集的CUDA内核与CPU版本相比性能较慢