summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/FPSCounter.h
blob: 860734d25b9e27ab277329d1a230a0ce6e257d1a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// Copyright 2008 Dolphin Emulator Project
// Licensed under GPLv2+
// Refer to the license.txt file included.

#pragma once

#include <fstream>

#include "Common/Timer.h"

class FPSCounter
{
public:
  // Initializes the FPS counter.
  FPSCounter();

  // Called when a frame is rendered (updated every second).
  void Update();

  unsigned int GetFPS() const { return m_fps; }
private:
  unsigned int m_fps = 0;
  unsigned int m_counter = 0;
  unsigned int m_fps_last_counter = 0;
  Common::Timer m_update_time;

  Common::Timer m_render_time;
  std::ofstream m_bench_file;

  void LogRenderTimeToFile(u64 val);
};