Skip to content

Add Event Queue to invocation of events #5546

@blowekamp

Description

@blowekamp

Initial discussion occurred in #3116 (Smoother Progress Reporting).

The current problem exists where progress reporting is not smooth. While all thread increase the progress only the calling thread invoke events.

The proposed patch caused all thread to invoke events. This could cause problems with too many events being triggered, concurrent invocation of events, and issues with change in behavior of the thread invoke events.

An initial alternative suggested was to use a "event queue" and have the main/calling thread only monitor for events, and invoke them. And perhaps no longer do computations.

There maybe other solutions that could be implemented with more effort, or other ways to improve progress reporting on an application without ( may be minor) modifications to ITK. For example an application could run ITK in a worker thread and "poll" the progress. Another example is the the 3D Slicer SimpleFilter modules, ITK event are placed on the Qt event queue, then the Qt event handle runs the callbacks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    type:EnhancementImprovement of existing methods or implementation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions