XNA 4.0在GF 640M下以30 fps运行,但在集成的英特尔卡上运行良好

本文关键字:运行 英特尔 集成 640M GF 下以 XNA fps | 更新日期: 2023-09-27 17:50:35

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

XNA 4.0在GF 640M下以30 fps运行,但在集成的英特尔卡上运行良好

您试过更改PresentationParameters.PresentationInterval吗?

如果我没记错的话,如果您将此设置为PresentInterval.One,它将"拔出所有停止"并尝试匹配最大刷新率。

已经有一段时间了,因为我修补了XNA…

可能与你的垂直同步设置有关。试试下面的

graphics.SynchronizeWithVerticalRetrace = false;