我一直在玩IsFixedTimeStep和TargetElapsedTime,但我无法获得高于30fps的fps。这是在模拟器和我的HTC HD7手机上。
我也试图在Farseer中使World.Step()设置正确,但还没有为此找到一个好的设置。
如果我想让它以60fps运行,那么理想情况下三个设置(IsFixedTimeStep,TargetElapsedTime和World.Step)应该是什么?
谢谢!
答案 0 :(得分:2)
只要您运行的是Mango Deployed App,就可以让游戏以60fps运行
以下代码取自:MSDN: Game at 60fps
游戏计时器间隔以60Hz运行
timer.UpdateInterval = TimeSpan.FromTicks(166667);
创建事件处理程序
public Game1()
{
graphics = new GraphicsDeviceManager(this);
graphics.PreparingDeviceSettings += new EventHandler<PreparingDeviceSettingsEventArgs>(graphics_PreparingDeviceSettings);
// Frame rate is 60 fps
TargetElapsedTime = TimeSpan.FromTicks(166667);
}
然后实现处理程序
void graphics_PreparingDeviceSettings(object sender, PreparingDeviceSettingsEventArgs e)
{
e.GraphicsDeviceInformation.PresentationParameters.PresentationInterval = PresentInterval.One;
}