arx/ArxLibertatis — comment on commit 7d744cb97b494093cc9e93b7d68904fcc9331d56
File: src/core/ArxGame.cpp line 775
By adejr:

the correct way to handle the issue is to never set lastframetime = 0, but instead set lastframetime = ARX_TIME_Get(). I was planning to implement that, although this quick limit of the value also cured the issue for now.

i've experimented with true frame rate limiting - it mostly works with the exception of in the case of "2D cinematic".

with lower frame-rates the animations should play too slowly, not too fast. the delta value in that case is limited below 1000/10 and so no matter how long between frames, the delta can not advance the animation faster than that. of course, that doesn't apply in the many cases where the time is taken from other sources.

when the framerate becomes too high animations will speed up rather than maintaining their constant rate as expected assuming vsync/limiting isn't used. again, that doesn't apply in the cases time is taken from another source.

this line could be changed to:
_framedelay = _framedelay > 1000.0f / 10.0f ? 1000.0f / 10.0f : _framedelay;

which would unlock the maximum rate and ensure animations couldn't run faster than they're expected to run.