MATLAB: Is graphics rendering slow on parallel workers

graphicsopenglpaintersparallelParallel Computing Toolboxparpoolperformancerenderingzbuffer

I am performing computationally demanding graphic rendering operations.
When I perform these operations inside a parallel pool, for example by using "parfor", the execution time increases by a factor 20, thus nullifying the benefit of parallelizing the code in the first place.
Why does this happen?

Best Answer

MATLAB parallel workers do not launch a GUI and are not associated to a display. Therefore they are unable to make use of OpenGL technology for acceleration of rendering tasks. This will both impact the performance and quality of graphics rendering compared to a desktop MATLAB session.
We would recommend to continue using the parfor loop to speed up the data processing tasks, but move the plotting functions to outside the parfor loop to make use of efficient OpenGL rendering.
Related Question