|
|
|
@ -9,8 +9,8 @@
|
|
|
|
|
#include <numeric>
|
|
|
|
|
#include <sstream>
|
|
|
|
|
#include <thread>
|
|
|
|
|
#include <fmt/chrono.h>
|
|
|
|
|
#include <fmt/format.h>
|
|
|
|
|
#include <fmt/time.h>
|
|
|
|
|
#include "common/file_util.h"
|
|
|
|
|
#include "common/math_util.h"
|
|
|
|
|
#include "core/perf_stats.h"
|
|
|
|
@ -34,13 +34,13 @@ PerfStats::~PerfStats() {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
std::time_t t = std::time(nullptr);
|
|
|
|
|
const std::time_t t = std::time(nullptr);
|
|
|
|
|
std::ostringstream stream;
|
|
|
|
|
std::copy(perf_history.begin() + IgnoreFrames, perf_history.begin() + current_index,
|
|
|
|
|
std::ostream_iterator<double>(stream, "\n"));
|
|
|
|
|
std::string path = FileUtil::GetUserPath(FileUtil::UserPath::LogDir);
|
|
|
|
|
const std::string& path = FileUtil::GetUserPath(FileUtil::UserPath::LogDir);
|
|
|
|
|
// %F Date format expanded is "%Y-%m-%d"
|
|
|
|
|
std::string filename =
|
|
|
|
|
const std::string filename =
|
|
|
|
|
fmt::format("{}/{:%F-%H-%M}_{:016X}.csv", path, *std::localtime(&t), title_id);
|
|
|
|
|
FileUtil::IOFile file(filename, "w");
|
|
|
|
|
file.WriteString(stream.str());
|
|
|
|
@ -75,11 +75,13 @@ void PerfStats::EndGameFrame() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
double PerfStats::GetMeanFrametime() {
|
|
|
|
|
std::lock_guard lock{object_mutex};
|
|
|
|
|
|
|
|
|
|
if (current_index <= IgnoreFrames) {
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
double sum = std::accumulate(perf_history.begin() + IgnoreFrames,
|
|
|
|
|
perf_history.begin() + current_index, 0);
|
|
|
|
|
const double sum = std::accumulate(perf_history.begin() + IgnoreFrames,
|
|
|
|
|
perf_history.begin() + current_index, 0);
|
|
|
|
|
return sum / (current_index - IgnoreFrames);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|