我有一个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