我有一個VS 2008的Windows 7 x64上的XNA 3.1應用程序。在〜7秒的時間內,如果遊戲沒有焦點(有時候!),窗口將變灰。標題增加了Not Responding
。如果遊戲具有焦點,則窗口可能會稍微改變屏幕上的位置,並且我的托盤上的應用程序圖標會移動,就好像它正在打開一個新程序一樣。
這隻發生在瞬間,然後應用程序圖標移回原始位置。它在調試和發佈模式下都可以這樣做。這很奇怪,因爲應用程序沒有卡在任何循環中,據我所知。如果我進入VS並在代碼沒有響應時暫停代碼,它會顯示我應用程序類中的Instance.Run。我試圖在那個時刻暫停它;XNA應用程序沒有響應
調用堆棧的樣子: [休眠,等待,或加入]
外部代碼。 - >
mscorlib.dll!System.Threading.Thread.Sleep(int millisecondsTimeout)+ 0x5 bytes Microsoft.Xna.Framework.Game.dll!Microsoft.Xna.Framework.Game.Tick()+ 0x98 bytes
Microsoft .Xna.Framework.Game.dll!Microsoft.Xna.Framework.Game.HostIdle(object sender ... Microsoft.Xna.Framework.Game.dll!Microsoft.Xna.Framework.GameHost.OnIdle()+ 0x3d bytes
...等等。
如果我打運行,而暫停時,程序將工作和解凍。一旦它進入這個無響應模式的應用程序將不會解凍本身。所有的聲音的時候繼續工作它沒有迴應。
此外,我有一個方法,覆蓋OnDeactivated()
事件,它會在應用程序失去響應時被調用,即使應用程序將有焦點。我曾嘗試安裝我的顯卡的最新驅動程序,但未能解決此問題。運行不帶VS的可執行文件時也會發生此問題。就像我說的那樣,這個問題發生的時間〜75%,否則它可以正常工作。
我只找到一個關於該問題的論壇帖子: http://forums.create.msdn.com/forums/p/56743/346180.aspx
It looks like it was never resolved.
這是否發生在空的遊戲呢? (新創建的遊戲項目中沒有其他任何東西) – 2011-05-28 17:12:37
非常好的建議,我沒有考慮嘗試。不 - 它不會通過一個新的遊戲項目來實現。有什麼建議麼? – 2011-05-28 17:24:12
我只是想知道這是XNA本身的問題,還是您寫的一些代碼。當它像這樣卡住時,你在運行什麼? – 2011-05-28 20:54:04