qt5 - Qt5 和 X11 的严重性能问题

标签 qt5 x11

我们将我们的应用程序从 Qt3 移植到 Qt5。它在 Windows 下运行流畅,但在 Linux (X11) 下运行不流畅。使用 Qt3,Windows 或 Linux 都没有问题。

在应用程序内部有一个大约 1000x800 像素的 Canvas 。在 Canvas 上绘制了一个简单的矢量图形。用户单击 Canvas ,按住鼠标按钮并移动鼠标。每次鼠标移动都会导致重新绘制。

我们记录了每个阶段的毫秒数:

MouseMove 事件处理开始:10581

调用更新或重绘(哪个没有区别)

处理产生的 Paint-Event:10583

油漆饰面: 10584

从更新/重绘返回: 10687 (!)

我找不到 100 毫秒延迟的任何原因(在每个鼠标移动事件中!)

我需要帮助!

最佳答案

在 Qt4.8 中,原生图形后端已被弃用。
远程 X11 不再使用 X11 调用绘制,而是通过绘制到 Canvas 上并将结果(位图)传输到客户端。当通过网络运行 X11 时,这可能会导致更大的带宽需求和更慢。

另见 this

关于qt5 - Qt5 和 X11 的严重性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28782162/

相关文章:

x11 - 在 X11 根窗口中检测修改键释放

c - 使用 X 调用渲染到 GLX 后台缓冲区?

x11 - Fedora 25 Tigervnc 显示黑屏

c++ - Qt 5.0.1中的`Configure`无法识别

c++ - 如何设置 QPushButton 的精确大小?

c++ - 使用鼠标滚轮缩放 QChartView 的 x 轴

qt - 如何禁用 QTabWidget 中的一个选项卡?

linux - 如何使用 XCB 或 X11 显示全彩色图像?

c++ - 在 QML 中使用 C++-slot 返回命名空间中的类型

gnome - 删除 Gnome 中的标题栏