メインスレッドで実行中のプログラムのデータを使用してリアルタイムに更新される2つのプロットを描画するにはどうすればよいですか?メインスレッドを使用またはブロックせずに、複数のリアルタイムプロットを描画するにはどうすればよいですか?
私はPyQTGraphではQApplicationクラスが、QApplication.exec()ファンクションブロックのメインプログラムの実行を使用しようとするも、それがスレッド上で実行することができます。これらの3つの質問に
回答は役立つかもしれない:
1)オブジェクトを描画するためにメインスレッドを使用する必要はありません別のpython可視化ライブラリ/ APIはありますが、リアルタイムプロットを描画するのに十分な速さで?
2)これはPythonのマルチプロセッシング機能を使ってどのように行うのですか?私はちょうどスレッド処理を学んだので、マルチプロセッシングは難しいようです。メインプログラムとグラフを更新する別の処理の間でデータを渡すためには、どのようなコード行が必要ですか?
3)マルチプロセスは、メインプロセスから1つのプロセスでリアルタイムプロットを更新するのに十分速いでしょうか?
ご協力いただきありがとうございます。
マルチプロセッシングが唯一の選択肢です。 isが十分に速いかどうかは、データレート(プロットデータのデータレート)、一度に表示するポイント数、グラフの更新頻度、PCの速さによって異なります。 pyqtgraphには、正しく覚えていれば、マルチプロセッシングのサポートが組み込まれています。私は、それがサンプルアプリケーションの例の1つで実証されていると思います。 –
私は、Python GILは一度に1つのスレッドしか実行されないため、マルチプロセッシングはあなたの唯一の選択肢です。とにかくQtベースのグラフ作成ライブラリはすべてメインスレッドに描画する必要があります。 –
お返事ありがとうございます。それは私がマルチプロセッシングを使用しなければならないことを私が確認しています。簡単な方法がない限り、プロセス間通信のためにソケットを使用する予定です。 – mago3421