« ネットワークプログラミング(3) | メイン | 美輝をどうするか・・・ »

ネットワークプログラミング(4)

サーバ、クライアントともにパケットを送信したあと相手からパケットが来るのを待つようにしたら、秒60フレーム出るようになりました!
でも、しばらくすると秒17フレームで安定してしまいます。何故じゃー!!

パケットが来るのを待つロジックは

while (queue->IsEmpty()) {};

っていう無限ループにしてあったんですけど、やっぱりこれがまずかった様子。

while (queue->IsEmpty()) {Sleep(0)};

↑このようにスリープを入れたら秒60フレームで安定するようになりました。
CPU使用率も100%になってないし、これでよかったのかな。

コメント

どう考えてもまずいよな・・・。
クリティカルセクション使って待つようにしないと。

ネトゲやLAN対戦って事ならUDPの方が良くないすか?
チェックにひと手間掛かっちゃいますけど。

ええ、最終的にはUDPにするつもりです。
いきなりUDPで組み始めるのはちょっと自信が無かったんで。

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)