Impact Acquire SDK GUI Applications
Influencing The Image Processing Performance

Impact Acquire internally as well as ImpactControlCenter's various analysis and display options make massive use of various techniques to improve the overall processing performance. One of the techniques used is OpenMP (https://en.wikipedia.org/wiki/OpenMP) for distributing the load caused by expensive algorithms. Usually the OpenMP runtime choses acceptable default parameters for these tasks but sometimes or on some platforms manual adjustment might become necessary. When defaults are not ideal for whatever reasons or you simply want to play around with this feature the number of threads used by the OpenMP runtime can be configured manually:

ImpactControlCenter - Setting the OpenMP Thread Count

The number of threads can be anything between 1 and the number of CPUs in the current system. More threads introduce more overhead thus the speed gain typically is NOT linear as it be seen in the next image:

ImpactControlCenter - Image Processing Time With Different Thread Counts

This timing diagram was generated by using the Feature Versus Time Plot. It can be seen that adding more threads to a task is not always perfect. In fact the additional CPU time needed can be rather high (have a look at the task manager of your system as well).

Note
Depending on the compiler used to build Impact Acquire and/or ImpactControlCenter setting the thread count might either affect the whole process (Windows) or the display and analysis module of ImpactControlCenter only (Linux). On systems where this does only affect ImpactControlCenter itself each Impact Acquire driver instance will allow to adjust the maximum number of threads that shall be used for driver internal image processing as well. In that case the property "SystemSettings → ImageProcessing → ImageProcessingMaximumThreadCount" will be available and can be configured as needed.
Since
Version 2.41.0 of this application