/** The number of measurements we gather before calculating the fps. */
export const numMeasurements = 30;

/**
 * Measures the fps (frames per second) while drawing.
 *
 * The 'raf()' method should be called in every requestAnimationFrame callback.
 */
export class FPS {
  private timestamps: number[] = []; // timestamps of raf() calls (ms).

  private _fps: number = 0;

  raf(): void {
    if (this.timestamps.length >= numMeasurements) {
      let total = 0;
      for (let i = 1; i < this.timestamps.length; i++) {
        total += this.timestamps[i] - this.timestamps[i - 1];
      }
      this._fps = 1000 / (total / (this.timestamps.length - 1));
      this.timestamps = [];
    }
    this.timestamps.push(performance.now());
  }

  get fps(): number {
    return this._fps;
  }
}
