使用相同的代码:
IsFixedTimeStep = true
和TargetElapsedTime = TimeSpan.FromSeconds(1 / 60f)
IsFixedTimeStep = true
和TargetElapsedTime = TimeSpan.FromSeconds(1 / 30f)
通过降低帧速率,应该期望更少的CPU使用率。 我尝试了不同的代码,结果相似。 有人知道原因吗?
答案 0 :(得分:0)
如果我不得不猜测(我必须这样做,因为你提供的信息非常少),我会说这是GPU和CPU之间的互动。
基本上,在60 FPS时,你可能受GPU限制。 CPU处于空闲状态,等待GPU在绘制另一帧之前绘制帧。你可能正在丢帧。
在30 FPS时,GPU能够跟上,因此CPU必须更频繁地发送帧。
但是,再一次,这只是猜测。您必须检测代码以正确检查这些内容。