在其他系统上奇怪的移动延迟,就我自己而言很好

时间:2013-05-12 03:47:11

标签: xna game-engine

我现在在XNA开发平台发动机很短的一段时间了,我决定看看到目前为止我的笔记本电脑是怎么运行的(不是我正在开发游戏的。)我去过得到一些奇怪的延迟(当改变方向和行走/跳跃时),以及一些滞后。我已经让一位朋友在他的电脑上运行它并获得相同的结果,但在我的桌面上它没问题。有什么想法吗?

我最初认为它可能与不同的显卡有关,因为我的桌面有一个相对强大的,并且有这些问题的计算机集成了图形,但由于它是一个小型2D游戏我不认为会有像这样的问题。

1 个答案:

答案 0 :(得分:0)

仿形

您需要对代码进行分析,以查看代码的最长部分,您可以使用许多分析器。

还有其他questions致力于此。

一旦启动并运行,您可能希望在2台计算机上安装它,以查看导致它们运行缓慢的原因。

时间步长/帧率

你可能想要玩的另一件事是

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

我搞砸了改变它们,并根据情况使它变得更平滑和更少延迟

经过时间

最后,你可能已经这样做,但总是将经过的时间用于你的运动。

不要这样做。

position += velocity;

DO 这个。

float elapsed = (float)gameTime.ElapsedGameTime.TotalSeconds;
position += velocity * elapsed * speed;