我正在使用XNA 4.0,Visual Studio2010 Pro和内置的Windows 7 Phone模拟器为Windows 7 Phone编写一个游戏。我下载了几个GameState示例,但FPS非常低,即使没有真正的图形工作也是如此。它在30,15,然后10之间卡顿,只是一般很慢。
我的电脑不是很好用,但我有一台2.4 but的I5核心笔记本电脑和4 4gb的内存,所以我认为它可以跟上手机上的任何硬件。
有什么想法吗?这是正常的吗?也许我测量FPS的方法是错误的(我使用fps=1/gametime.elapsedtime.totalseconds)?
发布于 2011-06-14 03:01:53
为了计算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();
}此代码摘自:http://social.msdn.microsoft.com/forums/en-US/xnagamestudioexpress/thread/fafe720f-df3b-407f-82b0-436c9d299a66/
在那里查看更多FPS计数器的样本。
有了这段代码,测试一下你是否还能得到奇怪的结果。
发布于 2011-06-13 23:26:31
看看主服务器是如何测量FPS的:http://blogs.msdn.com/b/shawnhar/archive/2007/11/23/game-timing-in-xna-game-studio-2-0.aspx
https://stackoverflow.com/questions/6327084
复制相似问题