今朝の気温は0℃です。今日の夜は雨の予報です。
最近時々、毎日夕方4時頃からJA1MEI 茨田さんが開催されているFreeDVロールコールに参加していますが、休日は参加局が40局くらいいます。
一昨日の日曜日も参加しましたが、40局近くの方が参加されていました。
FreeDV 2.2.0 (2.2.1も) はFreeDVレポーターの表示局数が多いとCPU負荷が増えて [PTT] の動作が遅くなります。特にフットスイッチを使っていると、送信終了が5秒近く遅れる事があります。
日頃は交信時には、[Trace] をチェックして [freq.] を選んで表示局数を絞っているのですが、ロールコールで参加局が多いと周波数で絞っても画面いっぱいに表示されます。(^^;

タスクマネージャーでCPUのパフォーマンスを見てみました。
私のパソコンのCPUは6コアですが、最後のCPU5の負荷が70%を超えています。

CPU全体の平均は27%なのですが、CPU5の負荷が高いです。FreeDVレポーターとFreeDVのPTT制御は同じCPUコアを使うのか、CPU5の負荷が高いとPTT制御が遅くなるようです。
Idle Filterを5分に設定して表示局数を絞ってみました。(Idel Filterは設定時間以上変化の無い局を非表示に出来ます。)

絞り込んでも9局が表示されていますが、CPU5の負荷は40%くらいになりました。

FreeDVでFreeDVレポータを起動していない時の [Stop] 状態と [Start] で受信状態のCPU負荷を見てみました。
[Stop] 状態

受信状態

受信を開始すると、CPU0~CPU3、CPU5の負荷が大きくなります。
FreeDV本体も受信時はCPU5を主に多く使うようでCPU5の負荷が他より大きいです。
FreeDV本体とFreeDVレポーターで違うCPUを使えば [PTT] の遅れを改善できそうな気がします。
子プロセスであるFreeDVレポーターのスレッドを別スレッドに出来ないのでしょうかね。(私はこの辺り知識が無くて、良く分かっていません。)
FreeDVはPhysonで書かれている部分が多いので、そのせいもあるのかも知れません。Windows環境ではPhysonは遅いと言われています。
FreeDVレポーターだけでもC++などのコンパイラ言語にすれば、もっと早くなると思いますが、Linuxなど複数の環境で動く事を優先しているのでしょうね。
(追記)
最新の Free DV User Manual のリリースノートに、以下の記述があります。
V2.3.0 2026年未定
最近時々、毎日夕方4時頃からJA1MEI 茨田さんが開催されているFreeDVロールコールに参加していますが、休日は参加局が40局くらいいます。
一昨日の日曜日も参加しましたが、40局近くの方が参加されていました。
FreeDV 2.2.0 (2.2.1も) はFreeDVレポーターの表示局数が多いとCPU負荷が増えて [PTT] の動作が遅くなります。特にフットスイッチを使っていると、送信終了が5秒近く遅れる事があります。
日頃は交信時には、[Trace] をチェックして [freq.] を選んで表示局数を絞っているのですが、ロールコールで参加局が多いと周波数で絞っても画面いっぱいに表示されます。(^^;

タスクマネージャーでCPUのパフォーマンスを見てみました。
私のパソコンのCPUは6コアですが、最後のCPU5の負荷が70%を超えています。

CPU全体の平均は27%なのですが、CPU5の負荷が高いです。FreeDVレポーターとFreeDVのPTT制御は同じCPUコアを使うのか、CPU5の負荷が高いとPTT制御が遅くなるようです。
Idle Filterを5分に設定して表示局数を絞ってみました。(Idel Filterは設定時間以上変化の無い局を非表示に出来ます。)

絞り込んでも9局が表示されていますが、CPU5の負荷は40%くらいになりました。

FreeDVでFreeDVレポータを起動していない時の [Stop] 状態と [Start] で受信状態のCPU負荷を見てみました。
[Stop] 状態

受信状態

受信を開始すると、CPU0~CPU3、CPU5の負荷が大きくなります。
FreeDV本体も受信時はCPU5を主に多く使うようでCPU5の負荷が他より大きいです。
FreeDV本体とFreeDVレポーターで違うCPUを使えば [PTT] の遅れを改善できそうな気がします。
子プロセスであるFreeDVレポーターのスレッドを別スレッドに出来ないのでしょうかね。(私はこの辺り知識が無くて、良く分かっていません。)
FreeDVはPhysonで書かれている部分が多いので、そのせいもあるのかも知れません。Windows環境ではPhysonは遅いと言われています。
FreeDVレポーターだけでもC++などのコンパイラ言語にすれば、もっと早くなると思いますが、Linuxなど複数の環境で動く事を優先しているのでしょうね。
(追記)
最新の Free DV User Manual のリリースノートに、以下の記述があります。
V2.3.0 2026年未定
1. バグ修正:
• 未定
2. 機能強化:
• 未定
2. 機能強化:
• FreeDV Reporter: パフォーマンス向上のため、Cleared() の代わりに ItemsAdded/ItemsDeleted を使用します。
次回リリースでFreeDVレポーターが重たい問題が解決されるかも知れませんね。期待しましょう。
次回リリースでFreeDVレポーターが重たい問題が解決されるかも知れませんね。期待しましょう。
コメント
コメント一覧 (3)
JA4JOE
が
しました
JA4JOE
が
しました
(お願い)質問はメールではなく、コメントでお願いします。