XNA 4.0使用GF 640M以30 fps运行,但集成Intel卡可以正常运行

时间:2013-01-03 06:53:02

标签: c# xna nvidia

每次我使用集成显卡运行我的游戏时,它都能以60 FPS的速度运行。但是,当屏幕上有很多粒子时,它有时会滞后太多。

所以我切换到Nvidia GeForce 640M,但帧率保持在30而不是60.我尝试了Reach和HiDef,但他们都没有能解决帧率问题。我也试过

this.TargetElapsedTime = TimeSpan.FromMilliseconds(15);

但是FPS仍然是30岁。

也尝试了这个,但没有奏效:

public Game1()
{
    graphics = new GraphicsDeviceManager(this);
    Content.RootDirectory = "Content";
    graphics.PreparingDeviceSettings += new EventHandler<PreparingDeviceSettingsEventArgs>(graphics_PreparingDeviceSettings);
}

private void graphics_PreparingDeviceSettings(object sender, PreparingDeviceSettingsEventArgs e)
{
    e.GraphicsDeviceInformation.PresentationParameters.MultiSampleCount = 4;
    e.GraphicsDeviceInformation.PresentationParameters.PresentationInterval = PresentInterval.One;
}

如何修复Nvidia显卡的帧速率?

2 个答案:

答案 0 :(得分:0)

您是否尝试过更改PresentationParameters.PresentationInterval

如果我没记错的话,如果你把它设置为PresentInterval.One,它会“拉出所有停止点”并尝试匹配最大刷新率。

自从我修改了XNA后,已经有一段时间......

答案 1 :(得分:0)

可能与您的vsync设置有关。请尝试以下

graphics.SynchronizeWithVerticalRetrace = false;