The processor class raises status events through the ProcessImageProgressChanged event. Status events give an estimate of the percentage of processing that is complete. Since processing only accepts one image at a time, the progress events are relative to the completeness of processing one image.
A progress event will occur after form identification is complete and then only after processing of a field has completed. However, a progress event will not occur after every field has completed processing, progress events only occur with a maximum frequency of 2 per second.
In the serial field processing scenario, the ProcessImageProgressChanged event handler will block other fields from being processed, but in the parallel field processing scenario other fields will be processed as the event handler executes.
The progress events also provide the mechanism through which processing of an image can be canceled. The event handler should set the ProcessImageProgressChanged.Cancel property to true.
The processor has mechanisms built in to time its various operations. These mechanisms cannot be disabled, but their cost is trivial. The results of timing are returned in two classes, the FormTimingResult and the FieldTimingResult.