diff options
author | bunnei <bunneidev@gmail.com> | 2021-05-19 04:56:29 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-19 04:56:29 +0200 |
commit | 7d86a6ff02e0778aa69ec52ef5c0eb0d26200818 (patch) | |
tree | ec9657e464e62c444ee2062cb0110b7e710d9788 /src/core/perf_stats.h | |
parent | Merge pull request #6337 from Morph1984/transfer-mem-size (diff) | |
parent | perf_stats: Rework FPS counter to be more accurate (diff) | |
download | yuzu-7d86a6ff02e0778aa69ec52ef5c0eb0d26200818.tar yuzu-7d86a6ff02e0778aa69ec52ef5c0eb0d26200818.tar.gz yuzu-7d86a6ff02e0778aa69ec52ef5c0eb0d26200818.tar.bz2 yuzu-7d86a6ff02e0778aa69ec52ef5c0eb0d26200818.tar.lz yuzu-7d86a6ff02e0778aa69ec52ef5c0eb0d26200818.tar.xz yuzu-7d86a6ff02e0778aa69ec52ef5c0eb0d26200818.tar.zst yuzu-7d86a6ff02e0778aa69ec52ef5c0eb0d26200818.zip |
Diffstat (limited to 'src/core/perf_stats.h')
-rw-r--r-- | src/core/perf_stats.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/core/perf_stats.h b/src/core/perf_stats.h index ae4698696..e5d603717 100644 --- a/src/core/perf_stats.h +++ b/src/core/perf_stats.h @@ -5,6 +5,7 @@ #pragma once #include <array> +#include <atomic> #include <chrono> #include <cstddef> #include <mutex> @@ -15,8 +16,8 @@ namespace Core { struct PerfStatsResults { /// System FPS (LCD VBlanks) in Hz double system_fps; - /// Game FPS (GSP frame submissions) in Hz - double game_fps; + /// Average game FPS (GPU frame renders) in Hz + double average_game_fps; /// Walltime per system frame, in seconds, excluding any waits double frametime; /// Ratio of walltime / emulated time elapsed @@ -72,7 +73,7 @@ private: /// Cumulative number of system frames (LCD VBlanks) presented since last reset u32 system_frames = 0; /// Cumulative number of game frames (GSP frame submissions) since last reset - u32 game_frames = 0; + std::atomic<u32> game_frames = 0; /// Point when the previous system frame ended Clock::time_point previous_frame_end = reset_point; @@ -80,6 +81,8 @@ private: Clock::time_point frame_begin = reset_point; /// Total visible duration (including frame-limiting, etc.) of the previous system frame Clock::duration previous_frame_length = Clock::duration::zero(); + /// Previously computed fps + double previous_fps = 0; }; class FrameLimiter { |