View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0028404 | Open CASCADE | OCCT:DRAW | public | 2017-01-29 23:03 | 2017-09-29 16:24 |
Reporter | Assigned To | apn | |||
Priority | normal | Severity | minor | ||
Status | closed | Resolution | fixed | ||
Target Version | 7.2.0 | Fixed in Version | 7.2.0 | ||
Summary | 0028404: DRAW - avoid useless preparation of display data when shape is not shown | ||||
Description | Execution of complex scripts is often quite slow in DRAW due to overhead expenses occurring when shape is set as DRAW variable. This includes display of the shape in DRAW views, and some pre-processing that is required for that. The first problem is that constructor of the class DBRep_DrawableShape performs pre-processing of shape data and prepares some display structures even if there are no views opened, or the shape is not shown. This overhead cannot be avoided. For instance, execution of attached script creating deep nested compound from single box (~ 93 K instances) runs in ~ 400 sec on current master, and all this time is taken by updating those useless structures. Another problem is that when one or more DRAW view(s) are opened, by default every new shape gets displayed automatically. This takes time but may be not always needed. Note that there is a DRAW command "autodisplay" that allows to switch this behavior off or on. It should be used to avoid automatic display of shapes created by scripts. | ||||
Steps To Reproduce | test perf draw bug28404 | ||||
Tags | No tags attached. | ||||
Test case number | perf draw bug28404 | ||||
2017-01-29 23:03 manager |
deepcompound.tcl (863 bytes) |
|
Branch CR28404 has been created by abv. SHA-1: 4f6c429ad697d4669d228134befabcbec5c201aa Detailed log of new commits: Author: abv Date: Sun Jan 29 23:23:49 2017 +0300 0028404: DRAW is slow Class DBRep_DrawableShape is changed to postpone generation of display data until the shape is actually displayed (for the first time). Test perf draw bug28404 is added. |
|
Branch CR28404 has been updated forcibly by abv. SHA-1: 11fbd849b86949acbcbaa66a8c35f729f41177e2 |
|
Fix is pushed to CR28404, please review |
|
There are no remarks. |
|
Dear BugMaster, Branch CR28404 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: 11fbd849b86949acbcbaa66a8c35f729f41177e2 Number of compiler warnings: occt component : Linux: 0 (0 on master) Windows: 0 (0 on master) MacOS : 0 (0 on master) products component : Linux: 63 (63 on master) Windows: 0 (0 on master) MacOS : 1141 Regressions/Differences/Improvements: No regressions/differences Testing cases: http://occt-tests/CR28404-master-OCCT/Debian70-64/perf/draw/bug28404.html http://occt-tests/CR28404-master-OCCT/Windows-64-VC10/perf/draw/bug28404.html perf draw bug28404: OK Testing on Linux: occt component : Total MEMORY difference: 91818142 / 92310743 [-0.53%] Total CPU difference: 19764.46000000039 / 19914.260000000217 [-0.75%] products component : Total MEMORY difference: 30867730 / 31477908 [-1.94%] Total CPU difference: 5517.409999999976 / 5544.959999999981 [-0.50%] Testing on Windows: occt component : Total MEMORY difference: 57087473 / 57618048 [-0.92%] Total CPU difference: 18200.97987219849 / 18683.178963198647 [-2.58%] products component : Total MEMORY difference: 22203455 / 22621210 [-1.85%] Total CPU difference: 5539.829511499975 / 5570.546108399986 [-0.55%] There are no differences in images found by testdiff. |
|
Dear BugMaster, Branch CR28404 is TESTED. |
|
Branch CR28404 has been deleted by kgv. SHA-1: 11fbd849b86949acbcbaa66a8c35f729f41177e2 |
occt: master 6662fe63 2017-01-29 20:23:49
Committer: apn Details Diff |
0028404: DRAW - avoid useless preparation of display data when shape is not shown Class DBRep_DrawableShape is changed to postpone generation of display data until the shape is actually displayed (for the first time). Test perf draw bug28404 is added. |
Affected Issues 0028404 |
|
mod - src/DBRep/DBRep_DrawableShape.cxx | Diff File | ||
mod - src/DBRep/DBRep_DrawableShape.hxx | Diff File | ||
add - tests/perf/draw/bug28404 | Diff File | ||
mod - tests/perf/grids.list | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2017-01-29 23:03 |
|
New Issue | |
2017-01-29 23:03 |
|
Assigned To | => apn |
2017-01-29 23:03 |
|
File Added: deepcompound.tcl | |
2017-01-29 23:17 |
|
Description Updated | |
2017-01-29 23:24 | git | Note Added: 0063166 | |
2017-01-29 23:25 |
|
Description Updated | |
2017-01-30 07:21 |
|
Summary | DRAW is slow => DRAW - avoid useless preparation of display data when shape is not shown |
2017-01-30 07:21 |
|
Description Updated | |
2017-01-30 07:56 | git | Note Added: 0063169 | |
2017-01-30 07:57 |
|
Note Added: 0063170 | |
2017-01-30 07:57 |
|
Status | new => resolved |
2017-01-30 07:57 |
|
Steps to Reproduce Updated | |
2017-01-30 20:23 | apn | Note Added: 0063226 | |
2017-01-30 20:23 | apn | Test case number | => perf draw bug28404 |
2017-01-30 20:23 | apn | Assigned To | apn => bugmaster |
2017-01-30 20:23 | apn | Status | resolved => reviewed |
2017-01-31 11:45 |
|
Assigned To | bugmaster => mkv |
2017-02-02 13:11 |
|
Note Added: 0063355 | |
2017-02-02 13:11 |
|
Note Added: 0063356 | |
2017-02-02 13:11 |
|
Assigned To | mkv => bugmaster |
2017-02-02 13:11 |
|
Status | reviewed => tested |
2017-02-03 16:52 | apn | Changeset attached | => occt master 6662fe63 |
2017-02-03 16:52 | apn | Assigned To | bugmaster => apn |
2017-02-03 16:52 | apn | Status | tested => verified |
2017-02-03 16:52 | apn | Resolution | open => fixed |
2017-02-08 11:36 | git | Note Added: 0063633 | |
2017-09-29 16:21 |
|
Fixed in Version | => 7.2.0 |
2017-09-29 16:24 |
|
Status | verified => closed |