質問

XNA 4.0、Visual Studio 2010 Pro、および組み込みのWindows 7 Phone Emulatorを使用して、Windows 7携帯電話用のゲームを書いています。いくつかのGamestateサンプルをダウンロードしましたが、実際のグラフィックスの作業が進行していなくても、FPSが非常に低くなります。 30、15、その後10の間で鳴り、一般的に遅くなります。

私のコンピューターはスクリーマーではありませんが、コアi5 2.4GHzラップトップと4GBのRAMがあります。そのため、電話のハードウェアに追いつくことができると思います。

何か案は?これは正常ですか?たぶん、FPSを測定する私の方法は間違っています(私は使用しています fps=1/gametime.elapsedtime.totalseconds)?

役に立ちましたか?

解決

FPSを計算するには、このコードを使用できます。

//time since last FPS update in seconds
    float deltaFPSTime = 0;

    protected override void Update()
    {
        // The time since Update was called last
        float elapsed = (float)ElapsedTime.TotalSeconds;

        float fps = 1 / elapsed;
        deltaFPSTime += elapsed;
        if (deltaFPSTime>1)
        {

            Window.Title = "I am running at  <" + fps.ToString()+"> FPS";
            deltaFPSTime-=1;
        }
        // Let the GameComponents update
        UpdateComponents();
    }

そこにFPSカウンターのサンプルをさらに確認してください。

このコードを整備していると、まだ奇妙な結果が得られているかどうかをテストします。

他のヒント

マスターがFPSをどのように測定するかを見てください: http://blogs.msdn.com/b/shawnhar/archive/2007/11/23/game-timing-in-xna-game-studio-2-0.aspx

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top