OCE update to equivalent OCC 6.8

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
jmaustpc
Veteran
Posts: 11207
Joined: Tue Jul 26, 2011 6:28 am
Location: Australia

Re: OCE update to equivalent OCC 6.8

Post by jmaustpc »

shoogen wrote:
jmaustpc wrote:TBB made a big difference but only to one small part of the FreeCAD model generation. Hence its overall effect was in most normal case negligible.
Did I get this right? OCCT uses TBB inside their booleans. But IIRC Jürgen said a while a ago, that it is difficult to call into OCCT concurrently (like for features that don't depend on another)?
Hi Sebastian
I have to find the post....from memory tbb only helped with some part of the visualisation, it only was a noticeable difference on an extremely complex model. If memory serves me correctly, we used that jet engine model that took something like 20 minutes for my core2duo to generate....or something like that. It was all a bit disappointing at that time...but things will have progressed since then.

I really have to find that post...

jim
wmayer
Founder
Posts: 20324
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: OCE update to equivalent OCC 6.8

Post by wmayer »

I can't remember in which channel this was discussed. This could have been also discussed in a mantis ticket.

Anyway, this was about the class BRepMesh_IncrementalMesh to tessellate the shapes and since OCC 6.6 this has a new parameter to do this in parallel. I once debugged through the code and it appeared that the most time-consuming part is still single-threaded so that the whole improvement is rather disappointing.
Did I get this right? OCCT uses TBB inside their booleans. But IIRC Jürgen said a while a ago, that it is difficult to call into OCCT concurrently (like for features that don't depend on another)?
Here the problem is/was that in OCC code many global variables are used that are not locked by mutexes which makes it impossible to use the affected algorithms in multiple threads.
jmaustpc
Veteran
Posts: 11207
Joined: Tue Jul 26, 2011 6:28 am
Location: Australia

Re: OCE update to equivalent OCC 6.8

Post by jmaustpc »

This is the topic I was thinking about, by about page four, where I have linked to, Werner had enabled TBB support and my test results showed mostly disappointingly small speed improvements.

viewtopic.php?f=3&t=6197&start=30#p49708

my "complex" part is still available for download, if anyone wanted to run comparisons with current code.
Post Reply