ネットワークプログラミング(4)
サーバ、クライアントともにパケットを送信したあと相手からパケットが来るのを待つようにしたら、秒60フレーム出るようになりました!
でも、しばらくすると秒17フレームで安定してしまいます。何故じゃー!!
パケットが来るのを待つロジックは
while (queue->IsEmpty()) {};
っていう無限ループにしてあったんですけど、やっぱりこれがまずかった様子。
while (queue->IsEmpty()) {Sleep(0)};
↑このようにスリープを入れたら秒60フレームで安定するようになりました。
CPU使用率も100%になってないし、これでよかったのかな。
コメント
どう考えてもまずいよな・・・。
クリティカルセクション使って待つようにしないと。
投稿者: あう社長 | 2006年10月21日 09:20
ネトゲやLAN対戦って事ならUDPの方が良くないすか?
チェックにひと手間掛かっちゃいますけど。
投稿者: RRR | 2006年10月21日 23:17
ええ、最終的にはUDPにするつもりです。
いきなりUDPで組み始めるのはちょっと自信が無かったんで。
投稿者: あう社長 | 2006年10月22日 00:01