summaryrefslogtreecommitdiff
path: root/src/core/perf_stats.h
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2018-08-31 12:21:34 -0400
committerLioncash <mathew1800@gmail.com>2018-08-31 16:30:14 -0400
commit4a587b81b285bcd41246329e89591be7cfe37c8a (patch)
tree8eda46d4aac083d23a52223e1a3fc46bc6690a6c /src/core/perf_stats.h
parent42588493d5ad5d824fc557ac936e64e5e7fd7e44 (diff)
core/core: Replace includes with forward declarations where applicable
The follow-up to e2457418dae19b889b2ad85255bb95d4cd0e4bff, which replaces most of the includes in the core header with forward declarations. This makes it so that if any of the headers the core header was previously including change, then no one will need to rebuild the bulk of the core, due to core.h being quite a prevalent inclusion. This should make turnaround for changes much faster for developers.
Diffstat (limited to 'src/core/perf_stats.h')
-rw-r--r--src/core/perf_stats.h24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/core/perf_stats.h b/src/core/perf_stats.h
index 6e4619701..222ac1a63 100644
--- a/src/core/perf_stats.h
+++ b/src/core/perf_stats.h
@@ -10,6 +10,17 @@
namespace Core {
+struct PerfStatsResults {
+ /// System FPS (LCD VBlanks) in Hz
+ double system_fps;
+ /// Game FPS (GSP frame submissions) in Hz
+ double game_fps;
+ /// Walltime per system frame, in seconds, excluding any waits
+ double frametime;
+ /// Ratio of walltime / emulated time elapsed
+ double emulation_speed;
+};
+
/**
* Class to manage and query performance/timing statistics. All public functions of this class are
* thread-safe unless stated otherwise.
@@ -18,22 +29,11 @@ class PerfStats {
public:
using Clock = std::chrono::high_resolution_clock;
- struct Results {
- /// System FPS (LCD VBlanks) in Hz
- double system_fps;
- /// Game FPS (GSP frame submissions) in Hz
- double game_fps;
- /// Walltime per system frame, in seconds, excluding any waits
- double frametime;
- /// Ratio of walltime / emulated time elapsed
- double emulation_speed;
- };
-
void BeginSystemFrame();
void EndSystemFrame();
void EndGameFrame();
- Results GetAndResetStats(std::chrono::microseconds current_system_time_us);
+ PerfStatsResults GetAndResetStats(std::chrono::microseconds current_system_time_us);
/**
* Gets the ratio between walltime and the emulated time of the previous system frame. This is