0

每次我使用集成显卡运行游戏时,它都能以 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 显卡的帧率?

4

2 回答 2

0

你试过改变PresentationParameters.PresentationInterval吗?

如果我没记错的话,如果您将其设置为PresentInterval.One,它会“全力以赴”并尝试匹配最大刷新率。

自从我修补 XNA 以来已经有一段时间了......

于 2013-01-03T06:59:13.823 回答
0

可能与您的垂直同步设置有关。尝试以下

graphics.SynchronizeWithVerticalRetrace = false;
于 2013-01-03T11:32:51.383 回答