From b7fae104c9f8623fb86b8a0c88f642166a3c8cd4 Mon Sep 17 00:00:00 2001 From: kradchen Date: Mon, 30 Jun 2025 13:20:50 +0800 Subject: [PATCH] perf: improve polygon render performance --- src/src/Rendering/Measure/OpenPolyAnnotationActor.cpp | 4 ++++ src/src/Rendering/Measure/OpenPolyAnnotationActor.h | 1 + 2 files changed, 5 insertions(+) diff --git a/src/src/Rendering/Measure/OpenPolyAnnotationActor.cpp b/src/src/Rendering/Measure/OpenPolyAnnotationActor.cpp index 7533e35..0a19124 100644 --- a/src/src/Rendering/Measure/OpenPolyAnnotationActor.cpp +++ b/src/src/Rendering/Measure/OpenPolyAnnotationActor.cpp @@ -10,6 +10,7 @@ #include #include #include +#include #include #include @@ -30,6 +31,9 @@ void OpenPolyAnnotationActor::SetRenderer(vtkRenderer *ren) { void OpenPolyAnnotationActor::BuildShape() { if (!BaseDataPoints->GetNumberOfPoints()) return; + QString stamp = QString("%1-%2").arg(BaseDataPoints->GetMTime()) + .arg(Renderer->GetActiveCamera()->GetMTime()); + if (mRenderTime == stamp) return; RebuildRenderPoint(); vtkNew source; source->SetClosed(this->Closed); diff --git a/src/src/Rendering/Measure/OpenPolyAnnotationActor.h b/src/src/Rendering/Measure/OpenPolyAnnotationActor.h index fdaa261..daaa0c3 100644 --- a/src/src/Rendering/Measure/OpenPolyAnnotationActor.h +++ b/src/src/Rendering/Measure/OpenPolyAnnotationActor.h @@ -83,6 +83,7 @@ protected: vtkTextProperty *textProperty; bool measured; + QString mRenderTime; QString mUnitmm ; QString mUnitcm ; QString mUnitmm2;