【问题标题】:XNA 4.0 runs at 30 fps with GF 640M but works fine with integrated Intel cardXNA 4.0 在 GF 640M 上以 30 fps 运行,但在集成 Intel 卡上运行良好
【发布时间】:2013-01-03 06:53:01
【问题描述】:

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

【问题讨论】:

    标签: c# xna nvidia


    【解决方案1】:

    您是否尝试过更改PresentationParameters.PresentationInterval

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

    我已经有一段时间没有修补 XNA 了...

    【讨论】:

    • 不,独立显卡仍然滞后
    • 抱歉,这是否意味着您已尝试更改演示间隔?
    • 哦,一定要试试 PresentInterval 以外的东西。也有一个 - 我要从那里的旧记忆中走出来。
    【解决方案2】:

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

    graphics.SynchronizeWithVerticalRetrace = false;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多