複合要因だったようだ

どうやら遅延は複合要因だったようだ。主な原因は以下の二つ。

  1. タイマーのインターバルが遅い
  2. 送信データが大きすぎる。

まず以下の状態の時遅延はほとんどない。

  • タイマーのインターバル 0.016
  • 送信データのサイズを640 X 360
  • カメラからの入力フレームレート30fps

1といえる理由としてうまくいく状態からタイマーのインターバルを0.1にしたとき遅延が発生した。

2といえる理由としてうまくいく状態から、送信データを1280 X 720 としたとき遅延が発生した。また、640X320のままでもデータの受け手をふやす(unityでの表示とpythonでの直接表示を同時に起動)と遅延が発生した。

上手くいく状態からカメラの入力フレームレートを10fpsに落としても遅延派はとんどなかった。

これを踏まえてソースコートを修正する必要がある。