Progress Dialog

Novel progress dialog without using drawnow function, which is optimized for minimal CPU usage.
Updated 7 Aug 2013

View License

Progressdlg creates or updates an existing progress dialog that reports on the progress of a task including the estimated time remaining as well as a button to cancel the task. It does not use drawnow in order to improve performance when using one or several other figures (drawnow refreshes all graphics objects in all figures).

progressdlg creates default progress dialog

progressdlg('message'); creates default progress dialog with custom message

progressdlg(n); creates default progress dialog with initial value n or updates existing progress dialog to value n

progressdlg(n,'message'); creates default progress dialog with message and value n or updates existing progress dialog to value n and message

progressdlg('PropertyName',PropertyValue,...); creates or updates progress dialog with properties PropertyName/PropertyValue

handle = progressdlg(...); returns the handle to the progress dialog
handle is empty if user aborted by pressing cancel

See help progressdlg for examples and PropertyName/PropertyValue

1) Does not use drawnow to refresh the progress bar in order to improve performance, especially when using one or several additional figures with many graphics objects.
2) Performance is slightly decreased when using the remaining time estimation and/or cancel button

This code heavily relies on undocumented and unsupported Matlab functionality. It works on Matlab 7+, but use at your own risk!

Cite As

Felix Ruhnow (2024). Progress Dialog (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2013a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired by: WORKBAR, statusbar

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes