DiscussionsIssue archiveOCCT:Visualization

Archived issue #0031987

Visualization - Slow rectangular selection on models with big number of sensitives

Open CASCADEOCCT:Visualizationclosed5 public notes

Search issues

Description

On 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.

Public activity

5 archived notes

Participants are labeled by their role within this record.

01Commenter 2
Branch [archived branch] has been created by Commenter 3.

[revision removed]


Detailed log of new commits:

Author: Author
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.
02Commenter 3
Please raise the patch
- OCCT branch: [archived branch]

http://jenkins-test-12.nnov.opencascade.com:8080/view/CR31987-master-KGV/
03Commenter 3
Tested on the model with ~1500000 sensitives and 5000 owners. Selection time for rectangular selection has decreased from 180s to 5s.

04Commenter 1
Combination -
OCCT branch : [archived branch]
master SHA - [revision removed]
[revision removed]
Products branch : [archived branch] SHA - [revision removed]
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
05Commenter 2
Branch [archived branch] has been deleted by Participant.

[revision removed]

Related records