0

我在 XNA 中开发平台游戏引擎已经有一段时间了,我决定看看到目前为止我在笔记本电脑上是如何运行的(而不是我正在开发游戏的)。我感到有些奇怪延迟(改变方向和行走/跳跃时),以及一点延迟。我让一个朋友在他的电脑上运行它,他得到了相同的结果,但在我的桌面上它很好。有什么想法吗?

我一开始以为可能是显卡不同的问题,因为我的台式机比较强大,而且有这些问题的电脑都是集成显卡,但因为是2D小游戏,我觉得不会有这样的问题.

4

1 回答 1

0

剖析

您将需要分析您的代码以查看它的哪些部分花费的时间最长,您可以使用许多分析器。

还有其他专门针对此的问题。

一旦您启动并运行了一个,您可能希望将它安装在 2 台计算机上,看看是什么导致它运行缓慢。

时间步长/帧率

你可能想玩的另一件事是

IsFixedTimeStep = true/false
graphics.SynchronizeWithVerticalRetrace = true/false

我乱七八糟地改变它们,并根据情况使它更顺畅,更少滞后

经过时间

最后,您可能已经这样做了,但始终将经过的时间应用于您的运动。

不要这样做

position += velocity;

这样做

float elapsed = (float)gameTime.ElapsedGameTime.TotalSeconds;
position += velocity * elapsed * speed;
于 2013-05-12T12:05:56.653 回答