PYQTGraph应用在鼠标移动时变慢

0 投票
1 回答
882 浏览
提问于 2025-04-18 06:00

我有一个多线程的应用程序(通过pyqt实现),它可以实时绘制数据(数据在第二个线程中处理,然后通过pyqt信号传递给GUI线程进行绘制)。当我把鼠标放在应用程序上时,它会继续以全速运行(通过调用app.processEvents()之间的时间差来测量)。但是一旦我开始移动鼠标,更新的速度就会变得非常慢,等我停止移动鼠标后,速度又会恢复正常。

有没有人知道我该如何解决这个问题或者调试一下呢?

代码比较长而且复杂,所以我不想在这里贴出来。谢谢!

1 个回答

2

你可能在场景中有一些可以接收鼠标输入的元素,但光凭这些信息很难判断具体情况,最好能看到代码。特别是,要小心那些复杂的可点击图形,因为计算鼠标光标与这些复杂形状的交集是非常耗费性能的。

解决性能问题的最好(有人说是唯一)方法就是对你的应用进行性能分析:运行 python -m cProfile -s cumulative your_script.py 一次,不要移动鼠标,再运行一次,期间多移动鼠标,最后对比输出结果,看看解释器花了多少时间在什么地方。

撰写回答