当鼠标移动到应用程序上时,PYQTGraph应用程序会变慢

时间:2014-05-09 14:53:13

标签: python qt pyqt pyqtgraph

我有一个多线程(通过pyqt)应用程序,它绘制实时数据(数据在第二个线程中处理并传递给gui线程以通过pyqt信号绘图)。如果我将鼠标放在应用程序上,它将继续全速运行(通过调用app.processEvents()之间的时差来衡量)。一旦我开始移动鼠标,更新速率就会慢慢爬行,当我停止移动鼠标时会再次增加。

有谁知道如何解决此问题/调试问题?

代码非常冗长和复杂,所以我不想在这里发布。谢谢!

1 个答案:

答案 0 :(得分:2)

你可能在场景中有接受自己鼠标输入的项目,但如果没有看到代码就很难说。特别是要警惕可点击的复杂绘图线 - 计算鼠标光标与这些复杂形状的交叉点是非常昂贵的。

解决性能问题的最好方法(有些人会这么说)是分析你的应用程序:在不移动鼠标的情况下运行python -m cProfile -s cumulative your_script.py一次,再用鼠标移动(确保花费大量时间移动鼠标) ),然后比较输出,看看翻译所花费的时间。