FPS_COUNT_AMOUNT :: 30; average_fps: int; fps_counts: [FPS_COUNT_AMOUNT] int; fps_count_cursor: int; update_fps_counter :: (dt: float) { fps_counts[fps_count_cursor] = cast(int)(1.0/dt); fps_count_cursor += 1; if fps_count_cursor == FPS_COUNT_AMOUNT { fps_count_cursor = 0; } total_fps : int; for 0..FPS_COUNT_AMOUNT-1 { total_fps += fps_counts[it]; } average_fps = total_fps / FPS_COUNT_AMOUNT; }