1

我正在使用 XNA 4.0、Visual Studio 2010 Pro 和内置的 Windows 7 Phone Emulator 为 Windows 7 Phone 编写游戏。我下载了几个 GameState 示例,但我得到的 FPS 非常低,即使没有进行真正的图形工作。它在 30、15 和 10 之间断断续续,只是通常很慢。

我的电脑不是尖叫,但我有一台 Core I5 2.4ghz 笔记本电脑和 4gb 内存,所以我认为它可以跟上手机上的任何硬件。

有任何想法吗?这是正常的吗?也许我测量 FPS 的方式是错误的(我使用fps=1/gametime.elapsedtime.totalseconds)?

4

2 回答 2

0

看看大师如何测量FPS:http: //blogs.msdn.com/b/shawnhar/archive/2007/11/23/game-timing-in-xna-game-studio-2-0.aspx

于 2011-06-13T15:26:30.727 回答
0

为了计算您的 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 计数器样本。

使用此代码,测试您是否仍然得到奇怪的结果。

于 2011-06-13T19:01:53.253 回答