If falling behind was caused by rendering (via vsync or just complex
frames) trying to render on every tick would just make the situation
worse.
Also render on partial ticks in case the desired output framerate is
higher than the reciprocal stepsize.
tracking_anchor = nullptr;
}
-void Renderer::tick(Time::TimeDelta)
+void Renderer::tick(Time::TimeDelta dt, Time::TimeDelta backlog)
{
+ if(dt>Time::zero && backlog>dt)
+ return;
+
if(shadows_changed)
{
shadows_changed = false;
void camera_changed(const Game::Events::CameraChanged &);
public:
- void tick(Time::TimeDelta) override;
+ void tick(Time::TimeDelta dt) override { tick(dt, Time::zero); }
+ void tick(Time::TimeDelta dt, Time::TimeDelta backlog) override;
};
} // namespace Msp::GameView