回答編集履歴

2 追記

hikochang

hikochang score 622

2017/01/24 09:06  投稿

まずは、データは圧縮しましょう。
次に各処理の時間を測って見ましょう。
ImageConnectはListよりも効率の良いものにしましょう。
毎回全フレームを送るのではなく、変化があった領域だけ送りましょう、
と言ってもまだまだ足りないので、、、
以下のコンポーネントなどの活用を考えましょう。
http://devlights.hatenablog.com/entry/20091120/p1
http://devlights.hatenablog.com/entry/20091120/p1
ところで、ループ処理も例えば以下のように改善が必要です。
for (; cnt < imgbyte.Length; 4096 )
{
 sendsize = min( 4096, imagebyte.Length-cnt );
Array.Copy(imagebyte, cnt, sendBuffer, 0, sendsize);
 cnt += sendsize;
 sendBufferを送る
}
endを送る
udpを使う場合はデータの到達順序やデータが消えることなども考慮が必要です。画像を一枚送るだけでもそこそこコツが必要です、TCPを使った方が良いですね。
1 追記

hikochang

hikochang score 622

2017/01/24 08:37  投稿

まずは、データは圧縮しましょう。
次に各処理の時間を測って見ましょう。
ImageConnectはListよりも効率の良いものにしましょう。
毎回全フレームを送るのではなく、変化があった領域だけ送りましょう、  
と行ってもまだまだ足りないので、、、
と言ってもまだまだ足りないので、、、
以下のコンポーネントなどの活用を考えましょう。
http://devlights.hatenablog.com/entry/20091120/p1

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る