0

しばらくの間、XNA でプラットフォーマー エンジンを開発してきましたが、これまでのラップトップでの実行方法を確認することにしました (ゲームを開発しているものではありません)。レイテンシー (方向を変えたり、歩いたりジャンプしたりするとき) と、少しラグがあります。友人に彼のコンピューターで実行するように依頼したところ、同じ結果が得られましたが、私のデスクトップでは問題ありません。何かご意見は?

私のデスクトップには比較的強力なグラフィックス カードがあり、これらの問題を抱えているコンピューターにはグラフィックスが統合されているため、最初は別のグラフィックス カードに関係があるのではないかと考えていましたが、小さな 2D ゲームであるため、このような問題はないと思います。 .

4

1 に答える 1

0

プロファイリング

コードのどの部分が最も時間がかかっているかを確認するために、コードをプロファイリングする必要があります。使用できるプロファイラーは多数あります。

これに特化した他の質問があります。

1 つを起動して実行したら、おそらく 2 台のコンピューターにインストールして、それぞれの実行速度が遅くなる原因を確認することをお勧めします。

タイムステップ / フレームレート

あなたが遊んでみたいと思うかもしれないもう一つのことは

IsFixedTimeStep = true/false
graphics.SynchronizeWithVerticalRetrace = true/false

私はそれらを変更していじり、状況に応じて、よりスムーズでラグが少なくなります

経過時間

そして最後に、あなたはすでにこれを行っているかもしれませんが、常にあなたの動きに経過時間を適用してください.

これをしないでください。

position += velocity;

これを行います。

float elapsed = (float)gameTime.ElapsedGameTime.TotalSeconds;
position += velocity * elapsed * speed;
于 2013-05-12T12:05:56.653 に答える