2

ゲームを作成しnode.jsてアップロードしました.1 秒あたり 30 ~ 60 フレームである必要があります..
今、テストを行ったところ、動作が遅くなりました..つまり、ローカル ネットワークでは、よりスムーズに動作することを意味します

サーバーはそれほど遠くありません..では、fpsを改善するためのヒントはありますか?

どちらが優れているxhr-poolingwebsockets、どちらが速いですか?
ゲームはこのように xhr-pooling で設定されています -

io.set('transports', ['xhr-polling']);

ゲームはappfogでホストされています

必要に応じて、ゲームのリンクを投稿できます。

4

1 に答える 1

4

ここでの質問は、何をしようとしているのかです。サーバーがフレームごとにクライアントにメッセージを送信している場合、あなたが話していることは基本的に不可能です。インターネット上で 16 ミリ秒 (60 fps) または 33 ミリ秒 (30 fps) 未満のネットワーク遅延を確実に保証することは不可能です。ローカル ネットワーク上では動作する可能性があり、ほぼ確実にローカル マシン上では動作しますが、インターネット上では動作しません。クライアントからサーバーに情報を取得し、次のフレームに戻す必要がある場合は、両側での処理を含めて、ラウンドトリップ レイテンシをそれほど低くする必要があります。xhr-polling と websocket の両方が TCP を使用するため、1 つの遅い/失われたパケットが最終的に表示されるまですべてを一時停止するため、さらに悪化します。

ブラウザで実行可能なゲームを作成するには、サーバーからレンダリングを可能な限り分離する必要があります。ネットワークの速度が十分ではありません。

于 2013-07-29T18:35:11.737 に答える