I have a function that displays some isosurface objects onto an axes, then rotates the figure 360 degrees, getting frames using 'getFrame' every N degrees. Then I use the frames to create an animation. This all works fine on my local laptop; however, we want to run it in automated fashion on a virtual machine. The virtual machine is headless. On a virtual machine, the code takes 10 minutes+ to execute (as opposed to 30 sec on my laptop). Why is this happening?
MATLAB: Rendering is slow in VM headless mode
headlessmachineMATLABpaintersrenderingslowvirtual
Related Question
- How to programmatically determine if in headless mode..
- How to get the session history programmatically in headless
- Using trainNetwork on a remote headless machine
- How to use GETFRAME on a headless cluster in MATLAB (R2013a)
- Does ‘surf’ command cause MATLAB to hang or run slowly
- Using ‘painters’ for saving a file to EPS format does not give me the transparency I saw in the FIG file.
Best Answer
In the headless mode, MATLAB uses 'painters' as the renderer to generate images. Painters can be very slow for the type of figure that is mentioned. On the laptop, or in headed mode, the renderer used is OpenGL which is relatively much faster. So, the simplest resolution is to run MATLAB in headed mode.