Timing and measurement functions.
ggez does not try to do any framerate limitation by default. If
you want to run at anything other than full-bore max speed all the
timer::yield_now() which does the same
thing) to yield to the OS so it has a chance to breathe before continuing
with your game. This should prevent it from using 100% CPU as much unless it
really needs to. Enabling vsync by setting
Conf object is generally the best
way to cap your displayed framerate.
For a more detailed tutorial in how to handle frame timings in games, see http://gafferongames.com/game-physics/fix-your-timestep/
A structure that contains our time-tracking state.
Gets the average time of a frame, averaged over the last 200 frames.
Check whether or not the desired amount of time has elapsed since the last frame.
Get the time between the start of the last frame and the current one; in other words, the length of the last frame.
A convenience function to convert a Rust
to a (less precise but more useful)
A convenience function to create a Rust
from a (less precise but more useful)
Gets the FPS of the game, averaged over the last 200 frames.
Returns the fractional amount of a frame not consumed
For example, if the desired
update frame time is 40 ms (25 fps), and 45 ms have
passed since the last frame,
return 5 ms – the amount of time “overflowing” from one
frame to the next.
Pauses the current thread for the target duration.
so it’s as accurate as that is (which is usually not very).
Gets the number of times the game has gone through its event loop.
Returns the time since the game was initialized, as reported by the system clock.
Yields the current timeslice to the OS.