【发布时间】:2011-10-17 03:27:33
【问题描述】:
这是我的主循环:
while (!done)
{
oldTimeMS = timeMS;
timeMS = SDL_GetTicks();
frameTimeMS = timeMS - oldTimeMS;
frameTime = ((float)timeMS / 1000.0f)*FPS;
update();
render();
}
其中 FPS 为 60。我可以通过这样做以独立于帧速率来更新变量
var = var+increment*frameTime;
但是我怎样才能让它只在某个时间间隔(时间,而不是帧)过去后才调用 update() 呢?我希望在每一帧都尽可能频繁地调用 render()。但我希望 update() 只在基于时间的间隔内被调用。如何使用这些变量进行设置?提前谢谢你。
编辑: 等等...我不希望在下一帧渲染之前尽可能多地调用 update() 吗?我该怎么做呢?会不会比我之前的想法更好?
【问题讨论】:
标签: sdl render frame-rate