我一直在通过互联网很长一段时间寻找一个简单的解决方案,一个相当容易的问题。固定更新速度
我有这个函数作为一个线程运行,我想要的很简单。有很多伪代码解释了它是如何完成的,但我在C/C++中实现这个时遇到了麻烦。
我想要什么:我有一个循环,我想每秒运行20次。我以前做过这个,但我不记得我的生活。
这是我的代码。
void* Tick::startBeating() {
mNext = clock();
mRunning = 1;
// Loop dat
while (mRunning) {
mT = clock();
while ((mT) >= mNext) {
// do updates here
std::cout << "Tick." << std::endl;
mNext = mT + SKIP_TICKS;
}
sleep(1);
}
return NULL;
}
这不起作用,似乎没有任何工作。 C中的一个简单的解决方案是无法在互联网上找到,这让我感到惊讶。
是的,我知道CLOCKS_PER_SEC,但我只是不知道了。
任何帮助?
这是特定的游戏,但适用于:http://gafferongames.com/game-physics/fix-your-timestep/ – orlp 2012-07-17 10:19:47
我的问题如何以任何方式与档案相关? – 2012-07-17 10:20:50
Copypasta失败,我在之后修复它。按F5。 – orlp 2012-07-17 10:21:53