我在 XNA 4.0 中的计时、用 C# 编写和使用 Visual Studio 2010 express 时遇到问题。
我并没有完全写游戏,但我正在尝试使用 XNA 来简化内容管道、绘图和计时。我想要做的是编写一个程序,该程序可以以非常精细的分辨率计时用户对屏幕刺激的响应——理想情况下小于 5 毫秒。
为此,我需要至少每 5 毫秒调用一次更新例程(以便我可以轮询键盘)。即使在可变步长计时中,每次调用我也无法获得低于约 16 毫秒的计时。这似乎与我在更新和绘制例程中所做的处理量无关。我可以注释掉这两个例程中的所有内容,并且程序在每次迭代中仍然花费大约 16.66 毫秒。
在固定步长计时中,我可以将目标设置为每秒大约 60 次迭代(更新之间为 16.66 毫秒),但如果我尝试比这更快,IsRunningSlowly 标志被触发,游戏似乎试图补偿 - 几个迭代将运行得快于每秒 60 次迭代,然后 1 次迭代将运行得更慢。
所以我想我的问题是:每秒 60 次迭代是 XNA 的上限吗?有可能绕过它吗?我应该完全放弃 XNA 吗?
我非常感谢您的时间和知识。提前致谢。