mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#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.
This commit is contained in:
parent
fbd8fffcca
commit
1630c5651e
@ -163,11 +163,6 @@ void RivReservoirViewPartMgr::clearGeometryCache( RivCellSetEnum geomType )
|
|||||||
for ( size_t i = 0; i < m_propFilteredGeometryFramesNeedsRegen.size(); ++i )
|
for ( size_t i = 0; i < m_propFilteredGeometryFramesNeedsRegen.size(); ++i )
|
||||||
{
|
{
|
||||||
m_propFilteredGeometryFramesNeedsRegen[i] = true;
|
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 )
|
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 )
|
for ( size_t i = 0; i < m_propFilteredWellGeometryFramesNeedsRegen.size(); ++i )
|
||||||
{
|
{
|
||||||
m_propFilteredWellGeometryFramesNeedsRegen[i] = true;
|
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
|
else
|
||||||
{
|
{
|
||||||
m_geometriesNeedsRegen[geomType] = true;
|
m_geometriesNeedsRegen[geomType] = true;
|
||||||
m_geometries[geomType].clearAndSetReservoir( geomType, rimEclipseCase, m_reservoirView );
|
|
||||||
m_geometries[geomType].setTransform( m_scaleTransform.p() );
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user