发行控制游戏帧率的c++
Issue controlling game frame rate C++
我正在用c++编程一款游戏,我在创造一种让游戏每秒只更新60次的方法时遇到了麻烦。我写的代码看起来应该可以工作,但是帧速率实际上是每秒44帧而不是每秒60帧。
const int FRAMES_PER_SECOND = 60;
const int FRAME_CONTROL = (1000 / FRAMES_PER_SECOND);
double lastFrameTime;
double currentFrameTime;
void GameLoop()
{
currentFrameTime = GetTickCount();
if ((currentFrameTime - lastFrameTime) >= FRAME_CONTROL)
{
lastFrameTime = currentFrameTime;
// Update Game.
}
}
所以,是的,它应该是60帧,但它实际上是44帧。我用来计算帧率的类在其他已经有帧率上限的程序中工作得很好。
你知道是什么问题吗?
这是由于getTickCount
的分辨率。该函数只给出10-16毫秒的分辨率Microsoft GetTickCount()
相关文章:
- 如何提高 OpenCV 实时检测器应用程序的帧率?
- C++ 如何设置精确的帧率限制?
- 提高Basler相机的帧率
- 低帧率,仅使用地图和小地图绘制 (SFML)
- OpenCV视频阅读慢帧率
- C++SDL帧率脉冲
- OpenGL帧率:与窗口大小的连接
- 在openCV中编写可变帧率视频
- 快板5线程影响帧率
- OpenCV VideoWriter帧率问题
- 如何找到视频的帧率使用c++ opencv 2.4.10
- 控制帧率
- 我如何获得和改变OGRE应用程序的帧率?
- OpenCV慢相机帧率
- 数学:无论帧率如何,都能平稳地减速
- 如何改变libav解码帧率
- 发行控制游戏帧率的c++
- OpenCV -从播放显著提高帧率
- OpenCV:低帧率的限制是什么?
- 将帧率提高到30 fps,并从AVT GigE相机获得bayerr8