From dc3c92ab261c94c94bca46a85f6643187fdbdf7e Mon Sep 17 00:00:00 2001 From: Gaute Lindkvist Date: Mon, 25 Nov 2019 10:46:17 +0100 Subject: [PATCH] Improve plot redraw scheduler --- ApplicationCode/Application/RiaGuiApplication.cpp | 2 ++ ApplicationCode/Application/RiaPlotWindowRedrawScheduler.cpp | 2 +- ApplicationCode/Application/RiaPlotWindowRedrawScheduler.h | 3 +++ .../ExportCommands/RicSnapshotAllViewsToFileFeature.cpp | 2 ++ 4 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ApplicationCode/Application/RiaGuiApplication.cpp b/ApplicationCode/Application/RiaGuiApplication.cpp index ed78bc93ee..09f9b9bc6f 100644 --- a/ApplicationCode/Application/RiaGuiApplication.cpp +++ b/ApplicationCode/Application/RiaGuiApplication.cpp @@ -27,6 +27,7 @@ #include "RiaFontCache.h" #include "RiaImportEclipseCaseTools.h" #include "RiaLogging.h" +#include "RiaPlotWindowRedrawScheduler.h" #include "RiaPreferences.h" #include "RiaProjectModifier.h" #include "RiaRegressionTestRunner.h" @@ -1434,6 +1435,7 @@ void RiaGuiApplication::onProjectBeingClosed() RicHoloLensSessionManager::refreshToolbarState(); RiaViewRedrawScheduler::instance()->clearViewsScheduledForUpdate(); + RiaPlotWindowRedrawScheduler::instance()->clearAllScheduledUpdates(); RiaGuiApplication::clearAllSelections(); diff --git a/ApplicationCode/Application/RiaPlotWindowRedrawScheduler.cpp b/ApplicationCode/Application/RiaPlotWindowRedrawScheduler.cpp index 6c74ce30ee..7cbcc2f1ec 100644 --- a/ApplicationCode/Application/RiaPlotWindowRedrawScheduler.cpp +++ b/ApplicationCode/Application/RiaPlotWindowRedrawScheduler.cpp @@ -111,7 +111,7 @@ void RiaPlotWindowRedrawScheduler::slotUpdateAndReplotScheduledItemsWhenReady() { if ( caf::ProgressState::isActive() ) { - startTimer( 10 ); + startTimer( 100 ); return; } diff --git a/ApplicationCode/Application/RiaPlotWindowRedrawScheduler.h b/ApplicationCode/Application/RiaPlotWindowRedrawScheduler.h index 170c52f72b..db08474175 100644 --- a/ApplicationCode/Application/RiaPlotWindowRedrawScheduler.h +++ b/ApplicationCode/Application/RiaPlotWindowRedrawScheduler.h @@ -44,6 +44,9 @@ private slots: void slotUpdateAndReplotScheduledItemsWhenReady(); private: + RiaPlotWindowRedrawScheduler() = default; + ~RiaPlotWindowRedrawScheduler() = default; + void startTimer( int msecs ); private: diff --git a/ApplicationCode/Commands/ExportCommands/RicSnapshotAllViewsToFileFeature.cpp b/ApplicationCode/Commands/ExportCommands/RicSnapshotAllViewsToFileFeature.cpp index 84b39f65cf..103e2b08e8 100644 --- a/ApplicationCode/Commands/ExportCommands/RicSnapshotAllViewsToFileFeature.cpp +++ b/ApplicationCode/Commands/ExportCommands/RicSnapshotAllViewsToFileFeature.cpp @@ -20,6 +20,7 @@ #include "RiaGuiApplication.h" #include "RiaLogging.h" +#include "RiaPlotWindowRedrawScheduler.h" #include "RiaViewRedrawScheduler.h" #include "Rim3dOverlayInfoConfig.h" @@ -113,6 +114,7 @@ void RicSnapshotAllViewsToFileFeature::exportSnapshotOfViewsIntoFolder( const QS Riu3DMainWindowTools::setActiveViewer( viewer->layoutWidget() ); RiaViewRedrawScheduler::instance()->clearViewsScheduledForUpdate(); + RiaPlotWindowRedrawScheduler::instance()->clearAllScheduledUpdates(); // riv->updateCurrentTimeStepAndRedraw(); riv->createDisplayModelAndRedraw();