I misunderstood your question. Do you want to know how to avoid inefficiencies in your progress bar.
The best way is to use a solution someone elese has created. The windows shell has a built in progress bar control called IProgressDialog. Start the progress bar window and call Setprogress after each operation has been completed.
More information here