MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0026221Open CASCADE[OCCT] OCCT:Visualizationpublic2015-05-13 18:482015-10-23 20:51
Reporterdbp 
Assigned Tobugmaster 
PrioritynormalSeverityminor 
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version 
Target Version[OCCT] 6.9.1Fixed in Version[OCCT] 6.9.1 
Summary0026221: Visualization - use NCollection_IndexedMap instead of NCollection_Sequence in OpenGl_Layer to improve performance
Descriptionbool OpenGl_Layer::Remove (const OpenGl_Structure* theStruct,
                           Standard_Integer& thePriority,
                           Standard_Boolean isForChangePriority)

is bottleneck in case of removing large number of connected objects. For attached test case it takes ~ 30 seconds (in release mode, Core i5 3.1 GHz).
Steps To Reproduce
pload MODELING VISUALIZATION
psphere s 0.5
tclean s
incmesh s 0.1
trinfo s

vinit View1
vclear
vaxo
vsetdispmode 1
vdefaults -defl 1.0 -autoTriang off
vdisplay s

# disable output of commands
decho off

set aNb1 300

# display 300x300 connected instances of single presentation
puts "Creating [expr $aNb1*$aNb1] instances..."
set t [time {for {set i 0} {$i < $aNb1} {incr i} {for {set j 0} {$j < $aNb1} {incr j} {vconnectto 
s_${i}_${j} ${i} ${j} 0 s -noupdate}}}]
set d1 [lindex $t 0]
puts "Done in $d1 microseconds!\n"

# this command is slow (~ 30 secs)
vclear
TagsNo tags attached.
Test case numberbugs vis bug26199
Attached Files

- Relationships
related to 0026029closedabv Visualization - Poor performance of connected objects 
related to 0026199closedbugmaster Visualization - use NCollection_IndexedMap instead of NCollection_Sequence in OpenGl_BVHClipPrimitiveSet to improve performance 
related to 0026220closedbugmaster Visualization - In Graphic3d_Structure use single NCollection_IndexedMap instead of NCollection_DataMap and NCollection_Sequence 

-  Notes
(0041423)
git (administrator)
2015-05-22 13:38

Branch CR26221 has been created by dbp.

SHA-1: 427e21ca2b527722065b3a5df346475b7caf6d9a


Detailed log of new commits:

Author: dbp
Date: Fri May 22 13:38:37 2015 +0300

    0026221: Visualization - Revise OpenGl_Layer to use more efficient collection for OpenGl_Structures
(0041424)
dbp (developer)
2015-05-22 13:42

Dear kgv,

please review the patch in branch CR26221.

This patch eliminates last known bottleneck when processing large number of (connected) obejcts. In fact, both displaying and removing 90 000 of spheres (from test case) now takes 1-2 seconds. Both memory consumption and rendering performance were not affected.
(0041474)
git (administrator)
2015-05-25 09:43

Branch CR26221_1 has been created by kgv.

SHA-1: 4943903d9000a5be6b385d6a2881f153b201c33e


Detailed log of new commits:

Author: dbp
Date: Mon May 25 09:43:06 2015 +0300

    Visualization - use NCollection_IndexedMap instead of NCollection_Sequence in OpenGl_Layer to improve performance
(0041475)
kgv (developer)
2015-05-25 09:44

Dear Denis,

please complete the patch and process OpenGl_View::myImmediateList, so that OpenGl_SequenceOfStructure type can be removed.
(0041540)
git (administrator)
2015-05-26 11:09

Branch CR26221_2 has been created by dbp.

SHA-1: a2875bcab247e643cf75744753ad22bc98aa2bbf


Detailed log of new commits:

Author: dbp
Date: Mon May 25 09:43:06 2015 +0300

    Visualization - use NCollection_IndexedMap instead of NCollection_Sequence in OpenGl_Layer to improve performance
(0041541)
dbp (developer)
2015-05-26 11:10

Dear kgv,

please review the patch in branch CR26221_2.
(0041544)
git (administrator)
2015-05-26 11:29

Branch CR26221_2 has been updated forcibly by dbp.

SHA-1: 19928d4bcff55a81791a13cd64e4200570e3a50e
(0041545)
kgv (developer)
2015-05-26 11:33

Please test the patch.
(0041622)
mkv (tester)
2015-05-27 18:45

Dear BugMaster,
Branch CR26221_2 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
SHA-1: 19928d4bcff55a81791a13cd64e4200570e3a50e

Number of compiler warnings:

occt component :
Linux: 25 (25 on master)
Windows: 0 (0 on master)

products component :
Linux: 37 (37 on master)
Windows: 0 (0 on master)

Regressions/Differences:
No regressions/differences

Testing cases:
http://occt-tests/CR26221-2-master-occt-64/Debian70-64/bugs/vis/bug26199.html [^]
http://occt-tests/CR26221-2-master-occt-64/Windows-64-VC10/bugs/vis/bug26199.html [^]
bugs vis bug26199: OK

Testing on Linux:
occt component :
Total MEMORY difference: 99919376 / 99834711 [+0.08%]
Total CPU difference: 18922.18000000004 / 18381.79000000015 [+2.94%]
products component :
Total MEMORY difference: 24094088 / 24303876 [-0.86%]
Total CPU difference: 8072.450000000004 / 7853.200000000018 [+2.79%]

Testing on Windows:
occt component :
Total MEMORY difference: 59055247 / 58652092 [+0.69%]
Total CPU difference: 16948.135841198928 / 16786.17560299903 [+0.96%]
products component :
Total MEMORY difference: 15633460 / 15628514 [+0.03%]
Total CPU difference: 6591.104650399998 / 6588.515033799982 [+0.04%]

There are no differences in images found by testdiff.
(0043502)
git (administrator)
2015-07-27 13:34

Branch CR26221_2 has been deleted by kgv.

SHA-1: 19928d4bcff55a81791a13cd64e4200570e3a50e
(0043551)
git (administrator)
2015-07-27 13:48

Branch CR26221 has been deleted by kgv.

SHA-1: 427e21ca2b527722065b3a5df346475b7caf6d9a
(0043552)
git (administrator)
2015-07-27 13:48

Branch CR26221_1 has been deleted by kgv.

SHA-1: 4943903d9000a5be6b385d6a2881f153b201c33e

- Related Changesets
occt: master 9f112210
Timestamp: 2015-05-25 06:43:06
Author: dbp
Committer: bugmaster
Details ] Diff ]
0026221: Visualization - use NCollection_IndexedMap instead of NCollection_Sequence in OpenGl_Layer to improve performance
mod - src/OpenGl/FILES Diff ] File ]
mod - src/OpenGl/OpenGl_BVHClipPrimitiveSet.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_BVHClipPrimitiveSet.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_Layer.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_Layer.hxx Diff ] File ]
rm - src/OpenGl/OpenGl_SequenceOfStructure.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_View.hxx Diff ] File ]
mod - src/OpenGl/OpenGl_View_2.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_View_Raytrace.cxx Diff ] File ]
mod - src/OpenGl/OpenGl_Workspace.cxx Diff ] File ]

- Issue History
Date Modified Username Field Change
2015-05-13 18:48 dbp New Issue
2015-05-13 18:48 dbp Assigned To => kgv
2015-05-13 18:49 dbp Relationship added related to 0026220
2015-05-13 18:49 dbp Relationship added related to 0026029
2015-05-13 18:49 dbp Relationship added related to 0026199
2015-05-13 18:52 kgv Description Updated View Revisions
2015-05-13 18:52 kgv Steps to Reproduce Updated View Revisions
2015-05-13 18:52 kgv Steps to Reproduce Updated View Revisions
2015-05-21 16:08 dbp Assigned To kgv => dbp
2015-05-22 13:38 git Note Added: 0041423
2015-05-22 13:42 dbp Note Added: 0041424
2015-05-22 13:42 dbp Assigned To dbp => kgv
2015-05-22 13:42 dbp Status new => resolved
2015-05-25 09:41 kgv Summary Visualization - Revise OpenGl_Layer to use more efficient collection for OpenGl_Structures => Visualization - use NCollection_IndexedMap instead of NCollection_Sequence in OpenGl_Layer to improve performance
2015-05-25 09:43 git Note Added: 0041474
2015-05-25 09:44 kgv Note Added: 0041475
2015-05-25 09:44 kgv Assigned To kgv => dbp
2015-05-25 09:44 kgv Status resolved => assigned
2015-05-26 11:09 git Note Added: 0041540
2015-05-26 11:10 dbp Note Added: 0041541
2015-05-26 11:10 dbp Assigned To dbp => kgv
2015-05-26 11:10 dbp Status assigned => resolved
2015-05-26 11:29 git Note Added: 0041544
2015-05-26 11:33 kgv Note Added: 0041545
2015-05-26 11:33 kgv Assigned To kgv => bugmaster
2015-05-26 11:33 kgv Status resolved => reviewed
2015-05-26 11:57 mkv Assigned To bugmaster => mkv
2015-05-27 18:45 mkv Note Added: 0041622
2015-05-27 18:45 mkv Assigned To mkv => bugmaster
2015-05-27 18:45 mkv Status reviewed => tested
2015-05-27 18:45 mkv Test case number => bugs vis bug26199
2015-05-29 14:15 bugmaster Changeset attached => occt master 9f112210
2015-05-29 14:15 bugmaster Status tested => verified
2015-05-29 14:15 bugmaster Resolution open => fixed
2015-07-27 13:34 git Note Added: 0043502
2015-07-27 13:48 git Note Added: 0043551
2015-07-27 13:48 git Note Added: 0043552
2015-08-26 11:11 abv Target Version 7.0.0 => 6.9.1
2015-10-16 14:56 aiv Status verified => closed
2015-10-23 20:51 aiv Fixed in Version => 6.9.1


Copyright © 2000 - 2020 MantisBT Team
Powered by Mantis Bugtracker