The best (most straightforward) way to do this is to generate a table of figures and export the table instead of the `Play[]` function. That way, each plot will be entirely pre-computed. In dynamic blocks, Mathematica only computes as much as it needs to. It will show a lower-quality version while playing, then increase the quality when it's paused. This is further discussed here: http://reference.wolfram.com/mathematica/tutorial/AdvancedManipulateFunctionality.html Just swap your Play[plot[i],{i,1,limit}]; with t = Table[plot[i],{i,1,limit,stepsize}]; You can then play through with Manipulate[t[[i]],{i,1,limit,1}]; or export the table directly with Export["videofile.avi",t];