我只是想知道,而做一個遊戲,我注意到,當我的遊戲有重點IsRunningSlowly的GameTime值返回false(如它應該),但是當我改變應用,更改爲true。我甚至做了一個空的遊戲,即使它失去了焦點,IsRunningSlowly的GameTime值也會返回true。我想知道爲什麼會這樣做?這只是我的電腦,還是XNA的創造者這樣設計的?幀率看起來不錯,但值是真的。沒什麼大不了的,我真的很好奇!XNA運行速度慢時,對焦被刪除
[空遊戲]
public class Game1 : Microsoft.Xna.Framework.Game
{
#region Constuctors
public Game1()
{
this.GraphicsManager = new Microsoft.Xna.Framework.GraphicsDeviceManager(this);
this.Content.RootDirectory = "Content";
}
#endregion
#region Overrides
protected override void LoadContent()
{
this.SpriteBatch = new Microsoft.Xna.Framework.Graphics.SpriteBatch(this.GraphicsDevice);
base.LoadContent();
}
protected override void Update(Microsoft.Xna.Framework.GameTime GameTime)
{
System.Console.WriteLine(GameTime.IsRunningSlowly);
Microsoft.Xna.Framework.Input.KeyboardState Keyboard = Microsoft.Xna.Framework.Input.Keyboard.GetState();
if (Keyboard.IsKeyDown(Microsoft.Xna.Framework.Input.Keys.Escape)) this.Exit();
base.Update(GameTime);
}
protected override void Draw(Microsoft.Xna.Framework.GameTime gameTime)
{
GraphicsDevice.Clear(Microsoft.Xna.Framework.Color.CornflowerBlue);
base.Draw(gameTime);
}
#endregion
#region Variables
private Microsoft.Xna.Framework.GraphicsDeviceManager GraphicsManager { get; set; }
private Microsoft.Xna.Framework.Graphics.SpriteBatch SpriteBatch { get; set; }
#endregion
}
看來,當您移動或調整窗口下降'Update's
IsRunningSlowly被設置爲true。 (我目前這個問題摔跤 - 還沒有證實此事還沒有100%)。 – 2013-02-23 06:40:03
@AndrewRussell是的,我以前遇到過該功能。當移動遊戲窗口並調整其大小時,遊戲似乎會放棄所有更新。不能說這對我來說是一個很大的問題,但未來可能會增加多人遊戲支持和連接超時的可靠性。我的猜測是,這可能會受到包裝應用程序中運行遊戲的最壞情況的抵制,因爲我希望父窗口不會將「調整大小/移動」調用轉發到其子游戲窗口。你可能也想嘗試調整大小和移動,並且自動適應它 – user1306322 2013-02-23 08:39:01
嗯無邊距(真正的)遊戲窗口的非遊戲窗口 - 幾乎正好我有這個問題。它停止抽取網絡事件並使網絡時間不同步。最惱人的。看來這是一個Win32的事情([很好的說明](http://www.gamedev.net/topic/488074-win32-message-pump-and-opengl---rendering-pauses-while-draggingresizing/?view=findpost&p= 4189300))。 – 2013-02-23 10:03:14