Skip to main content
This enum is implemented in FRE for Linux and Windows.
MultiProcessingModeEnum enumeration constants specify the mode of processing multi-page documents using multiple CPU cores.
typedef enum {
 MPM_Sequential,
 MPM_Auto,
 MPM_Parallel
} MultiProcessingModeEnum;

Elements

NameDescription
MPM\_AutoThe number of processes is detected automatically. If only one page is processed or there is only one processor in the system, one process is used. Otherwise, parallel processing is used.
MPM\_ParallelPages of a document are always processed in parallel processes.
MPM\_SequentialPages of a document are processed sequentially in one process.

Remarks

When parallel processing is used, the actual number of processes which is run depends on the value of the IMultiProcessingParams::RecognitionProcessesCount property. If the value of the IMultiProcessingParams::RecognitionProcessesCount property is 0, the number of processes is equal to the minimum of the following values:
  • number of available CPU cores,
  • number of free CPU cores available in the license,
  • number of pages in the document.
If the value of the IMultiProcessingParams::RecognitionProcessesCount property is not 0, the number of processes is equal to the minimum of the following values:
  • the value of the RecognitionProcessesCount property,
  • number of free CPU cores available in the license,
  • number of pages in the document.
The results of processing the same document in parallel processes and in a single process may be different. This is due to the fact that not all information which is used during processing can be shared between different processes. The distribution among CPU cores is available for the following methods:

Used in

IMultiProcessingParams::MultiProcessingMode