API reference
Track and limit framerate of a program.
-
class tcod.clock.Clock
Bases: object
Measure framerate performance and sync to a given framerate.
Everything important is handled by Clock.sync.
You can use the fps properties to track the performance of an application.
Time is sampled with time.perf_counter.
Example:
import tcod.clock
clock = tcod.clock.Clock()
while True:
clock.sync(1 / 30) # This loop will run at 30 FPS until interrupted.
-
property last_fps: float
The FPS of the most recent frame.
-
property last_frame: float
The length of the most recent frame.
-
last_time
Last time this Clock was synced.
-
property max_fps: float
The FPS of the fastest frame.
-
max_samples = 64
Number of framerate samples to log. This attribute be set in the class or instance.
-
property mean_fps: float
The FPS of the sampled frames overall.
-
property median_fps: float
The FPS of the median frame.
-
property min_fps: float
The FPS of the slowest frame.
-
sync(desired_framerate=None)
Sync to a given framerate and return the delta time.
- Parameters:
desired_framerate (float | None) – The desired framerate in seconds.
If None is given then this function will track the time and framerate without ever waiting.
Must be above zero when not None.
- Returns:
The delta time since the last call to sync, in seconds.
- Return type:
float
-
time_samples: deque[float]
A recent collection of delta-time samples.