- 534 名前:ラジャ・ライオン [02/04/02 02:04 ID:7h54ATJc]
- >>530
>Sleep()ですか・・、無理矢理コールする事は出来ますけど、うーむ。 >DirectPlay側の処理で遅くなってるようですー。 私がDirectPlayを触れていたころとは大分違いますので、何とも言えないんですが。 おそらくCPU占有率が100%になってないでしょうか? うちの環境にシステムスキャンが入ってないので、確認できないのですが・・ >初期設定では、2フレームに一回座標を送信。 >方向が変化した時に、方向値を送信。 どの方法が良いとは言えないのですが、方向(ベクトル?)ではなく、 キー情報(ビットフラグを使用すれば1バイトで済みます)を送るという方法もあります。 各クライアントでキー情報を元にベクトルを計算します、時々サーバの整合性を保つために 位置情報を補正するといいでしょう。 データ送信量を減らすアイディアを思いついたままに書きます。 ・クライアントは、自分の近くのオブジェクト(画面内に入っている)だけデータ受信する。 ・NPCは乱数シードだけ送信し、NPCの位置情報は各クライアントで計算。 ・パケットは出来るだけ、余りがでないように設計する。 ・パケットデータを構造体でラップするとパティングが発生するので、なるべく避ける。 以上、定石ですがパケット設計法です。
|

|