我刚开始涉及游戏开发,已经使用SDL2制作了一些程序。由于我从未打算发布这些程序,所以帧率并不是一个大问题,我只是使用了SDL_RENDER_PRESENTVSYNC将帧率限制在60帧(我的显示器刷新速率)。现在我想制作一个可以发送给朋友的应用程序,我想知道我的帧率实现是否有优势。
unsigned int a = SDL_GetTicks();
unsigned int b = SDL_GetTicks();
double delta = 0;
while (running)
{
a = SDL_GetTicks();
delta += a - b;
if (delta > 1000/60.0)
{
std::cout << "fps: " << 1000 / delta << std::endl;
Update();
Render();
delta = 0;
}
b = SDL_GetTicks();
}
我有一种强烈的感觉,我的计算出了大问题,但是我在网上找到的许多其他实现似乎都很冗长。如果可能的话,我想将帧率限制实现保持在游戏循环内并尽可能简单。感谢任何帮助!