View Issue Details

IDProjectCategoryView StatusLast Update
0031987Open CASCADEOCCT:Visualizationpublic2020-12-12 13:46
Reporterage Assigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Target Version7.6.0Fixed in Version7.6.0 
Summary0031987: Visualization - Slow rectangular selection on models with big number of sensitives
DescriptionOn big models function SelectMgr_ViewerSelector::traverseObject can take a lot of time because of checking if all sensitives were selected (in case of rectangle/box selection with disabled IsOverlapAllowed flag).
As a solution, it is supposed to simplify this check by pre-calculation of number of owners sensitives during computing of selection.
TagsNo tags attached.
Test case numberNot required

Relationships

related to 0031716 closedbugmaster Open CASCADE Visualization, Select3D_SensitiveSet::matches() - avoid building BVH in case of full overlapping by the volume 

Activities

git

2020-12-09 17:42

administrator   ~0097446

Branch CR31987 has been created by kgv.

SHA-1: 3d0adadfcafc36055a39def736473402138e1593


Detailed log of new commits:

Author: age
Date: Tue Dec 8 13:32:07 2020 +0300

    0031987: Visualization - Slow rectangular selection on models with big number of sensitives
    
    SelectMgr_SensitiveEntitySet now stores a map of registered owners with a counter of registered entities.
    SelectMgr_ViewerSelector::traverseObject() now reads the number of sensitive entities for specific owner
    from SelectMgr_SensitiveEntitySet instead of re-computing it every time.

kgv

2020-12-10 11:24

developer   ~0097462

Please raise the patch
- OCCT branch: CR31987.

http://jenkins-test-12.nnov.opencascade.com:8080/view/CR31987-master-KGV/

age

2020-12-10 11:26

developer   ~0097463

Last edited: 2020-12-10 11:27

Tested on the model with ~1500000 sensitives and 5000 owners. Selection time for rectangular selection has decreased from 180s to 5s.

bugmaster

2020-12-12 12:55

administrator   ~0097521

Combination -
OCCT branch : IR-2020-12-11
master SHA - a25d5aaa30ec81c1fb94a9a394b8afa740611203
a206de37fbfa0bf71bd534ae47192bbec23b8522
Products branch : IR-2020-12-11 SHA - 32a7f74b10f27f9251808f20fdfe1444ff30c60b
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 17756.510000000126 / 18090.92999999998 [-1.85%]
Products
Total CPU difference: 12330.210000000125 / 12342.950000000128 [-0.10%]
Windows-64-VC14:
OCCT
Total CPU difference: 19429.09375 / 19751.71875 [-1.63%]
Products
Total CPU difference: 13755.5 / 13772.515625 [-0.12%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2020-12-12 13:46

administrator   ~0097534

Branch CR31987 has been deleted by inv.

SHA-1: 3d0adadfcafc36055a39def736473402138e1593

Related Changesets

occt: master 266877a7

2020-12-08 10:32:07

age


Committer: bugmaster Details Diff
0031987: Visualization - Slow rectangular selection on models with big number of sensitives

SelectMgr_SensitiveEntitySet now stores a map of registered owners with a counter of registered entities.
SelectMgr_ViewerSelector::traverseObject() now reads the number of sensitive entities for specific owner
from SelectMgr_SensitiveEntitySet instead of re-computing it every time.
Affected Issues
0031987
mod - src/SelectMgr/SelectMgr_SensitiveEntitySet.cxx Diff File
mod - src/SelectMgr/SelectMgr_SensitiveEntitySet.hxx Diff File
mod - src/SelectMgr/SelectMgr_ViewerSelector.cxx Diff File

Issue History

Date Modified Username Field Change
2020-12-08 13:29 age New Issue
2020-12-08 13:29 age Assigned To => age
2020-12-09 17:42 git Note Added: 0097446
2020-12-10 11:24 kgv Note Added: 0097462
2020-12-10 11:24 kgv Assigned To age => bugmaster
2020-12-10 11:24 kgv Status new => resolved
2020-12-10 11:24 kgv Status resolved => reviewed
2020-12-10 11:26 kgv Relationship added related to 0031716
2020-12-10 11:26 age Note Added: 0097463
2020-12-10 11:27 age Note Edited: 0097463
2020-12-12 12:55 bugmaster Note Added: 0097521
2020-12-12 12:55 bugmaster Status reviewed => tested
2020-12-12 12:58 bugmaster Test case number => Not required
2020-12-12 13:13 bugmaster Changeset attached => occt master 266877a7
2020-12-12 13:13 bugmaster Status tested => verified
2020-12-12 13:13 bugmaster Resolution open => fixed
2020-12-12 13:46 git Note Added: 0097534