View Issue Details

IDProjectCategoryView StatusLast Update
0001415FreeCADFeaturepublic2021-02-06 06:50
ReporterPauvres_honteux Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
Status newResolutionopen 
Target Version0.20 
Summary0001415: Multi core/thread support
DescriptionHi, I'm not sure if FC currently is utilizing multiple cores/threads simultaneously, but it would be of huge benefit for the future when one could, at least in theory, move a feature (point, line, plane) in the resulting body and see the whole result updated in real time.

E.G. a casting whos shape depends upon an irregular hole pattern.
Or upon step changing a common draft angle parameter reflects its impact in real time.
Or moving holes and depressions in sheet metal and see the result in real time really enhances your understanding of that specific part you're working on.

And your customers will get a better understanding of how a particular change/demand will impact the end result which in the end cut costly time - a lot.

Regards Pauvres_honteux
Additional InformationHad this in the "Open discussion" before but it was apparently the wrong place.
FreeCAD Information


related to 0002750 closedtriplus SetRunParallel for BOA (multi-threading) 



2014-02-23 18:22

reporter   ~0004281

This might be a starting point for learning parallel computing?

Regards Pauvres_honteux


2014-02-23 20:40

administrator   ~0004283

For parallel computing Qt already offers e.g. the (low-level) QThread class, QThreadPool or the high-level API QtConcurrent which we make use here and there.

The problem is not that we don't know how to parallelize it's more the lack of OCC to support it. At the moment there are only a few algorithms that are ready to use in separate threads.


2014-05-18 16:46

developer   ~0004690

One improvemnt would be, that a recompute only blocks when applying changes to the GUI (changing QT elements or the scenegraph) and not while performing computations inside OCCT.


2014-05-19 02:52

reporter   ~0004693

Last edited: 2017-05-06 21:15

Hi Shoogen, I get a feeling there's a vital word (for me) missing in your comment [0001415:0004690] "...only blocks when applying..." ? Should there have been a word before or after "blocks" ?


2014-07-31 08:24

reporter   ~0004903

Last edited: 2014-07-31 08:28

From my experience in an engineering company routinely working with complex models containing many parts, I strongly support parallel processing. The commercial CAD systems I know are all more or less single threaded Windows applications. As Processors these days no longer get faster, but have more cores instead, the only way to significantly improve productivity of CAD when working with complex projects seems to be to go parallel.
With Linux effortlessly scaling from an Arduino to supercomputers and an eight core workstation being available for 500 €, a truly parallel computing CAD system running on Linux could be a killer.
My experience with the commercial systems was that upgrading a several year old version on several year old PCs to the current version with carefully single-thred-performance-optimized PCs did not result in a noticeable performance increase. Loading and processing times of complex assemblies remained unchanged. A huge investment for nothing and very frustrating.


2017-02-02 01:07

administrator   ~0008162

Linked 0002750


2022-03-03 13:55

administrator   ~0016416

This ticket has been migrated to GitHub as issue 5581.

Issue History

Date Modified Username Field Change
2014-02-16 15:58 Pauvres_honteux New Issue
2014-02-23 18:22 Pauvres_honteux Note Added: 0004281
2014-02-23 20:40 wmayer Note Added: 0004283
2014-05-18 16:46 shoogen Note Added: 0004690
2014-05-19 02:52 Pauvres_honteux Note Added: 0004693
2014-07-31 08:24 wbraun Note Added: 0004903
2014-07-31 08:28 wbraun Note Edited: 0004903
2017-02-02 01:06 Kunda1 Tag Attached: multithreading
2017-02-02 01:06 Kunda1 Relationship added related to 0002750
2017-02-02 01:07 Kunda1 Note Added: 0008162
2017-05-06 21:15 Kunda1 Note Edited: 0004693
2021-02-06 06:50 abdullah Target Version => 0.20