XNA高CPU使用率与不同的TargetElapsedTime

时间:2012-07-13 02:16:59

标签: c# windows xna cpu frame-rate

使用相同的代码:

IsFixedTimeStep = trueTargetElapsedTime = TimeSpan.FromSeconds(1 / 60f)

的5-10%CPU使用率

IsFixedTimeStep = trueTargetElapsedTime = TimeSpan.FromSeconds(1 / 30f)

的CPU使用率为50-60%

通过降低帧速率,应该期望更少的CPU使用率。 我尝试了不同的代码,结果相似。 有人知道原因吗?

1 个答案:

答案 0 :(得分:0)

如果我不得不猜测(我必须这样做,因为你提供的信息非常少),我会说这是GPU和CPU之间的互动。

看看this blog post

基本上,在60 FPS时,你可能受GPU限制。 CPU处于空闲状态,等待GPU在绘制另一帧之前绘制帧。你可能正在丢帧。

在30 FPS时,GPU能够跟上,因此CPU必须更频繁地发送帧。

但是,再一次,这只是猜测。您必须检测代码以正确检查这些内容。