From fe8e2ae0d1889127e5df1b504cafc1c259fbf042 Mon Sep 17 00:00:00 2001 From: enricoturri1966 Date: Thu, 9 Sep 2021 09:35:58 +0200 Subject: [PATCH] ENABLE_GCODE_VIEWER_STATISTICS - Fixed calculation of time required by GCodeProcessor --- src/libslic3r/GCode/GCodeProcessor.cpp | 15 +++++++++------ src/libslic3r/GCode/GCodeProcessor.hpp | 3 +++ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/libslic3r/GCode/GCodeProcessor.cpp b/src/libslic3r/GCode/GCodeProcessor.cpp index 1891c90b4..8ebd82d66 100644 --- a/src/libslic3r/GCode/GCodeProcessor.cpp +++ b/src/libslic3r/GCode/GCodeProcessor.cpp @@ -1213,7 +1213,7 @@ void GCodeProcessor::process_file(const std::string& filename, std::functionfinalize(); - - // post-process to add M73 lines into the gcode -#if ENABLE_GCODE_VIEWER_STATISTICS - m_result.time = std::chrono::duration_cast(std::chrono::high_resolution_clock::now() - start_time).count(); -#endif // ENABLE_GCODE_VIEWER_STATISTICS } void GCodeProcessor::initialize(const std::string& filename) { assert(is_decimal_separator_point()); + +#if ENABLE_GCODE_VIEWER_STATISTICS + m_start_time = std::chrono::high_resolution_clock::now(); +#endif // ENABLE_GCODE_VIEWER_STATISTICS + // process gcode m_result.filename = filename; m_result.id = ++s_result_id; @@ -1317,6 +1317,9 @@ void GCodeProcessor::finalize() #endif // ENABLE_GCODE_VIEWER_DATA_CHECKING m_time_processor.post_process(m_result.filename, m_result.moves, m_result.lines_ends); +#if ENABLE_GCODE_VIEWER_STATISTICS + m_result.time = std::chrono::duration_cast(std::chrono::high_resolution_clock::now() - m_start_time).count(); +#endif // ENABLE_GCODE_VIEWER_STATISTICS } float GCodeProcessor::get_time(PrintEstimatedStatistics::ETimeMode mode) const diff --git a/src/libslic3r/GCode/GCodeProcessor.hpp b/src/libslic3r/GCode/GCodeProcessor.hpp index 1665fb9f2..ea594b3fc 100644 --- a/src/libslic3r/GCode/GCodeProcessor.hpp +++ b/src/libslic3r/GCode/GCodeProcessor.hpp @@ -497,6 +497,9 @@ namespace Slic3r { #if ENABLE_FIX_IMPORTING_COLOR_PRINT_VIEW_INTO_GCODEVIEWER size_t m_last_default_color_id; #endif // ENABLE_FIX_IMPORTING_COLOR_PRINT_VIEW_INTO_GCODEVIEWER +#if ENABLE_GCODE_VIEWER_STATISTICS + std::chrono::time_point m_start_time; +#endif // ENABLE_GCODE_VIEWER_STATISTICS enum class EProducer {