From 1630c5651eff784f9cb674f34bccf096161e8850 Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Thu, 30 Apr 2020 07:45:36 +0200 Subject: [PATCH] #5852 3D view: Avoid creation of viz objects in clearGeometryCache m_geometries[geomType].clearAndSetReservoir( geomType, rimEclipseCase, m_reservoirView ) was causing relative heavy performance issues. This is related to several structures being allocated and initialized in constructor in some visusualization object. Preferred workflow: Mark the geometry for recreation using the flag, and do the actual work when visualization is to be created. --- .../ModelVisualization/RivReservoirViewPartMgr.cpp | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/ApplicationCode/ModelVisualization/RivReservoirViewPartMgr.cpp b/ApplicationCode/ModelVisualization/RivReservoirViewPartMgr.cpp index db1935300b..a50b092266 100644 --- a/ApplicationCode/ModelVisualization/RivReservoirViewPartMgr.cpp +++ b/ApplicationCode/ModelVisualization/RivReservoirViewPartMgr.cpp @@ -163,11 +163,6 @@ void RivReservoirViewPartMgr::clearGeometryCache( RivCellSetEnum geomType ) for ( size_t i = 0; i < m_propFilteredGeometryFramesNeedsRegen.size(); ++i ) { m_propFilteredGeometryFramesNeedsRegen[i] = true; - if ( m_propFilteredGeometryFrames[i].notNull() ) - { - m_propFilteredGeometryFrames[i]->clearAndSetReservoir( geomType, rimEclipseCase, m_reservoirView ); - m_propFilteredGeometryFrames[i]->setTransform( m_scaleTransform.p() ); - } } } else if ( geomType == PROPERTY_FILTERED_WELL_CELLS ) @@ -175,18 +170,11 @@ void RivReservoirViewPartMgr::clearGeometryCache( RivCellSetEnum geomType ) for ( size_t i = 0; i < m_propFilteredWellGeometryFramesNeedsRegen.size(); ++i ) { m_propFilteredWellGeometryFramesNeedsRegen[i] = true; - if ( m_propFilteredWellGeometryFrames[i].notNull() ) - { - m_propFilteredWellGeometryFrames[i]->clearAndSetReservoir( geomType, rimEclipseCase, m_reservoirView ); - m_propFilteredWellGeometryFrames[i]->setTransform( m_scaleTransform.p() ); - } } } else { m_geometriesNeedsRegen[geomType] = true; - m_geometries[geomType].clearAndSetReservoir( geomType, rimEclipseCase, m_reservoirView ); - m_geometries[geomType].setTransform( m_scaleTransform.p() ); } }