Per frame logging use output_file and date

pull/390/head
FlightlessMango 4 years ago
parent 4bdd252393
commit 128fbd4b88

@ -40,15 +40,17 @@ void writeFile(string filename){
logArray.clear();
}
void logging(void *params_void){
overlay_params *params = reinterpret_cast<overlay_params *>(params_void);
string get_current_time(){
time_t now_log = time(0);
tm *log_time = localtime(&now_log);
std::ostringstream buffer;
buffer << std::put_time(log_time, "%Y-%m-%d_%H-%M-%S");
string date = buffer.str();
return date;
}
void logging(void *params_void){
overlay_params *params = reinterpret_cast<overlay_params *>(params_void);
while (loggingOn){
uint64_t now = os_time_get();
elapsedLog = now - log_start;
@ -60,5 +62,5 @@ void logging(void *params_void){
this_thread::sleep_for(chrono::milliseconds(log_period));
}
writeFile(params->output_file + date);
writeFile(params->output_file + get_current_time());
}

@ -935,10 +935,11 @@ void check_keybinds(struct overlay_params& params){
benchmark.fps_data.clear();
log_start = now;
}
if (!params.output_file.empty() && params.log_duration == 0 && loggingOn)
writeFile(params.output_file + get_current_time());
loggingOn = !loggingOn;
if (loggingOn && log_period != 0 && !params.output_file.empty())
if (!params.output_file.empty() && loggingOn && log_period != 0)
std::thread(logging, &params).detach();
}
@ -1500,10 +1501,10 @@ void render_imgui(swapchain_stats& data, struct overlay_params& params, ImVec2&
if (loggingOn && log_period == 0){
elapsedLog = (double)(now - log_start);
if ((elapsedLog) >= params.log_duration * 1000000)
if (params.log_duration && (elapsedLog) >= params.log_duration * 1000000)
loggingOn = false;
out << fps << "," << cpuLoadLog << "," << gpuLoadLog << "," << (now - log_start) << endl;
logArray.push_back({fps, cpuLoadLog, gpuLoadLog, elapsedLog});
}
if (params.enabled[OVERLAY_PARAM_ENABLED_frame_timing]){

Loading…
Cancel
Save