2017-12-15 18 views
-3

新しいデータを受け取ったときにリアルタイムでグラフをプロットするMFC GUIプログラムを書きました。毎秒30データになります。私は新しいデータを受け取るたびにfopenfprintを使ってテキストファイルを書く新しい関数を追加しています。したがって、1秒間に30の新しいテキストファイルが作成されます。MFCのfprint書き込みパフォーマンスを向上させるには?

書き込み機能のため、グラフがリアルタイムで更新されず、プログラムが一時停止しているように見えるという問題があります。書き込み機能をオフにするとうまくいきます。

この問題を解決するにはどうすればよいですか?

ご協力いただきありがとうございます。ありがとう!

+1

なぜ毎秒30の新しいテキストファイルを作成していますか?あなたは何千ものファイルで終わるでしょう。あなたはこれをしてもよろしいですか?これらのtexteファイルのおおよその長さはどれくらいですか?なぜ毎分だけ新しいファイルを作成しないのですか?あなたの質問を精緻化して、そのプログラムについてもっと教えてください。 –

+0

関連するタグはありません。それに応じてあなたの質問を編集してください(https://stackoverflow.com/posts/47826815/edit)。 – IInspectable

+0

EVERYデータポイント(1秒間に30回)の場合、Open、Write(Append?)、Closeを実行すると間違いなくSLOWになります。 RAMにデータをキャッシュし、最後にダンプしますか?データが多すぎる場合は、マルチスレッドを行い、UIスレッドを高速に保ち、別のスレッド(優先度が低い)でデータをファイルにダンプしますが、ファイルを開いたままにしてください。 – franji1

答えて

0

OS /ハードウェアのために、ドライブへの書き込みが遅くなる傾向があります。以前はRAMDISKというものがありました。基本的には、ドライブレターをRAMに作成したデバイスドライバです。ファイルが書き込まれた後、新しい場所のハードドライブまたはSSDの場所にコピーすることができます。オープンおよびクローズファイルは、オペレーティングシステムのリソースを使用します。あなたの説明からあなたのプログラムデザインを知るのは難しいです...

関連する問題