View Issue Details

IDProjectCategoryView StatusLast Update
0001176AssemblyFeaturepublic2021-02-06 06:29
Reporterproject4 Assigned To 
PrioritynormalSeverityfeatureReproducibilityN/A
Status newResolutionopen 
Product Version0.13 
Target Version0.20 
Summary0001176: Add visual indication when long tasks are performed
DescriptionI think there is a need to add a visual indication when something long is done by the program (like recalculation of the whole object for example).

An icon in the status bar of the main window might be a good idea.

I didn't try to work with really complex designs yet, but was experiencing some lags already...
An indication might be a bonus to the user experience.
TagsNo tags attached.
FreeCAD Information

Relationships

related to 0002571 closedwmayer FreeCAD Progress bar on refine mesh, others 
related to 0002480 closed File formats Opening big STEP file fail (slow tessellation of shapes) 

Activities

wmayer

2013-07-12 19:49

administrator   ~0003393

For many operations where the number of steps is known we show a progress bar (heavily used e.g. in the Mesh module).

With OCC this is hardly possible because the algorithms there doesn't support a progress bar. The only exception I know of is the STEP/IGES importer.

As long as you don't need an animated icon this should be no problem. Otherwise all the used OCC algorithms need to be moved into worker threads.

project4

2013-07-13 05:09

reporter   ~0003395

I don't know what OCC means, but I think if it's a long algorithm, it should be run apart from the GUI processing.
This way it might be easier to break the process into multi-thread implementation when needed, which might speed up the whole thing alot for complex parts.

My thought was to add a simple icon that changes the color when something is processing... a flashing one might be even better.
Showing a progress bar when possible is even better.

wmayer

2013-07-13 08:02

administrator   ~0003397

OCC is the abbreviation for OpenCascade -- the CAD kernel. Unfortunately, most of the algorithms in OCC can't be multi-threaded because internally many global variables are used and thus makes it impossible in many situations to work with more than one thread.

Furthermore, threads should only be used if it's known that the operations will take a long time because spawning a thread is an expensive operation and thus should be avoided for fast operations which will take e.g. less the 1-2 sec.

A flashing icon is an absolutely no-go IMHO. Then I prefer something more decent like for example the animated icon of Firefox that appears when loading a heavy web page.

project4

2013-07-13 08:42

reporter   ~0003399

We are talking about the same thing... Animated icon showing a progress is a very good solution.

Thanks for OCC explanation.
If it's a separate project, than someone might optimize it one day...

clel

2017-01-10 15:28

reporter   ~0007604

If this is still relevant - another possibility would be to show a small bar moving from side to side or cycling through the progress bar.

Kunda1

2018-06-12 19:36

administrator   ~0011414

An example of a progress bar in an FC macro can be seen in https://forum.freecadweb.org/viewtopic.php?f=22&t=28831&p=238026#p238391

Kunda1

2018-09-28 00:13

administrator   ~0011865

Also in the Lithophane WB: https://github.com/furti/FreeCAD-Lithophane/commit/3446e5038977c53021ead4571f8a408797ea1cae

yorik

2022-03-03 13:55

administrator   ~0016401

This ticket has been migrated to GitHub as issue 5566.

Issue History

Date Modified Username Field Change
2013-07-12 17:14 project4 New Issue
2013-07-12 19:49 wmayer Note Added: 0003393
2013-07-13 05:09 project4 Note Added: 0003395
2013-07-13 08:02 wmayer Note Added: 0003397
2013-07-13 08:42 project4 Note Added: 0003399
2017-01-10 15:28 clel Note Added: 0007604
2017-02-17 11:17 Kunda1 Relationship added related to 0002571
2017-03-02 19:15 Kunda1 Relationship added related to 0002480
2018-06-12 19:36 Kunda1 Note Added: 0011414
2018-09-28 00:13 Kunda1 Note Added: 0011865
2021-02-06 06:29 abdullah Target Version => 0.20