PerformanceTracker: Add ownership of m_log_name.
This commit is contained in:
parent
bc46089ab0
commit
588a72a4fc
|
@ -34,7 +34,7 @@ public:
|
||||||
private:
|
private:
|
||||||
PerformanceTracker m_fps_counter{"render_times.txt"};
|
PerformanceTracker m_fps_counter{"render_times.txt"};
|
||||||
PerformanceTracker m_vps_counter{"vblank_times.txt"};
|
PerformanceTracker m_vps_counter{"vblank_times.txt"};
|
||||||
PerformanceTracker m_speed_counter{nullptr, 500000};
|
PerformanceTracker m_speed_counter{std::nullopt, 500000};
|
||||||
};
|
};
|
||||||
|
|
||||||
extern PerformanceMetrics g_perf_metrics;
|
extern PerformanceMetrics g_perf_metrics;
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
static constexpr double SAMPLE_RC_RATIO = 0.25;
|
static constexpr double SAMPLE_RC_RATIO = 0.25;
|
||||||
|
|
||||||
PerformanceTracker::PerformanceTracker(const char* log_name,
|
PerformanceTracker::PerformanceTracker(const std::optional<std::string> log_name,
|
||||||
const std::optional<s64> sample_window_us)
|
const std::optional<s64> sample_window_us)
|
||||||
: m_on_state_changed_handle{Core::AddOnStateChangedCallback([this](Core::State state) {
|
: m_on_state_changed_handle{Core::AddOnStateChangedCallback([this](Core::State state) {
|
||||||
if (state == Core::State::Paused)
|
if (state == Core::State::Paused)
|
||||||
|
@ -86,7 +86,6 @@ void PerformanceTracker::Count()
|
||||||
|
|
||||||
m_dt_std = std::nullopt;
|
m_dt_std = std::nullopt;
|
||||||
|
|
||||||
if (m_log_name && g_ActiveConfig.bLogRenderTimeToFile)
|
|
||||||
LogRenderTimeToFile(diff);
|
LogRenderTimeToFile(diff);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -230,9 +229,13 @@ bool PerformanceTracker::QueueEmpty() const
|
||||||
|
|
||||||
void PerformanceTracker::LogRenderTimeToFile(DT val)
|
void PerformanceTracker::LogRenderTimeToFile(DT val)
|
||||||
{
|
{
|
||||||
|
if (!m_log_name || !g_ActiveConfig.bLogRenderTimeToFile)
|
||||||
|
return;
|
||||||
|
|
||||||
if (!m_bench_file.is_open())
|
if (!m_bench_file.is_open())
|
||||||
{
|
{
|
||||||
File::OpenFStream(m_bench_file, File::GetUserPath(D_LOGS_IDX) + m_log_name, std::ios_base::out);
|
File::OpenFStream(m_bench_file, File::GetUserPath(D_LOGS_IDX) + *m_log_name,
|
||||||
|
std::ios_base::out);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_bench_file << std::fixed << std::setprecision(8) << DT_ms(val).count() << std::endl;
|
m_bench_file << std::fixed << std::setprecision(8) << DT_ms(val).count() << std::endl;
|
||||||
|
|
|
@ -34,8 +34,8 @@ private:
|
||||||
}
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
PerformanceTracker(const char* log_name = nullptr,
|
PerformanceTracker(const std::optional<std::string> log_name = std::nullopt,
|
||||||
const std::optional<s64> sample_window_us = {});
|
const std::optional<s64> sample_window_us = std::nullopt);
|
||||||
~PerformanceTracker();
|
~PerformanceTracker();
|
||||||
|
|
||||||
PerformanceTracker(const PerformanceTracker&) = delete;
|
PerformanceTracker(const PerformanceTracker&) = delete;
|
||||||
|
@ -77,7 +77,7 @@ private: // Functions for managing dt queue
|
||||||
int m_on_state_changed_handle;
|
int m_on_state_changed_handle;
|
||||||
|
|
||||||
// Name of log file and file stream
|
// Name of log file and file stream
|
||||||
const char* m_log_name;
|
std::optional<std::string> m_log_name;
|
||||||
std::ofstream m_bench_file;
|
std::ofstream m_bench_file;
|
||||||
|
|
||||||
// Last time Count() was called
|
// Last time Count() was called
|
||||||
|
|
Loading…
Reference in New Issue