freedman wrote: ↑Sun Feb 17, 2019 10:49 pm
Here is the threaded part.
Create view, from button press to view; 55 sec.
Create detail, from button press to view; 32 sec.
Move anchor from 0 to .1, from button press to view; 40 sec.
File open with page; 55 sec.
File open without page; 2 sec.
It isn't the Detail view that is slowing things down;
original file - 43.8 sec to load
Log: TIMING - Detail GO spent: 513.222 millisecs in HLRBRep_Algo & co
Log: TIMING - Detail GO spent: 6.280 millisecs in hlrToShape and BuildCurves
Log: TIMING - Detail DVP spent: 11.487 millisecs in GO::extractGeometry
Log: TIMING - ProjItem GO spent: 17155.471 millisecs in HLRBRep_Algo & co
Log: TIMING - ProjItem GO spent: 7.116 millisecs in hlrToShape and BuildCurves
Log: TIMING - ProjItem DVP spent: 27.349 millisecs in GO::extractGeometry
no detail - 38.4 to load
Log: TIMING - ProjItem GO spent: 17860.170 millisecs in HLRBRep_Algo & co
Log: TIMING - ProjItem GO spent: 9.524 millisecs in hlrToShape and BuildCurves
Log: TIMING - ProjItem DVP spent: 28.903 millisecs in GO::extractGeometry
The HLR routines are taking approx 17-18 second to process "ProjItem" (Front) and it gets computed twice.
If I use a regular View instead of a ProjectionGroup, View is only executed once, so the load is faster.
no detail, using View - 22 to load
Log: TIMING - View GO spent: 18054.734 millisecs in HLRBRep_Algo & co
Log: TIMING - View GO spent: 9.812 millisecs in hlrToShape and BuildCurves
Log: TIMING - View DVP spent: 30.207 millisecs in GO::extractGeometry
So the lesson 1 here seems to be don't use ProjectionGroup when a regular View will do.
Lesson 2 is that we need a new geometry builder for cases where we aren't interested in hidden lines.
freecad-daily
OS: Linux Mint 19
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.15860 (Git)
Build type: Release
Branch: master
Hash: 3b708c7f84b0425076b520e1d95627b20fd75fe0
Python version: 2.7.15rc1
Qt version: 5.9.5
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/Canada (en_CA)