我在它与下面的代码功能时:XNA GraphicsDeviceManager.ApplyChanges()产生闪烁在应用程序调用启动
GameStateManagementGame.GraphicsDeviceManager.PreferredBackBufferWidth = width;
GameStateManagementGame.GraphicsDeviceManager.PreferredBackBufferHeight = height;
GameStateManagementGame.GraphicsDeviceManager.IsFullScreen = isFullScreen;
GameStateManagementGame.GraphicsDeviceManager.ApplyChanges();
当它被称为在应用程序启动,如果isFullScreen = TRUE,有非常显着即使宽度和高度与桌面分辨率相同,屏幕闪烁一秒或2秒。如果我没有ApplyChanges();调用这个不会发生(但设置确实会被应用)。如果在没有ApplyChanges()调用的情况下完全启动游戏后调用该函数,则不会应用这些设置。
现在我可以通过将东西跳过ApplyChanges()在启动时调用解决这个问题,但我想知道为什么发生这种情况。
我设法找到了关于这个问题的唯一信息说,如果你正在使用相同的分辨率的桌面或提供了过于复杂和破碎的解决方法闪烁不应该发生。
所以我的问题是什么是上述行为的原因和什么是最好的解决方法?