Optical design has always pushed the boundaries of what's possible on computers. ZEMAX currently supports up to 16 processors per machine, helping to solve the most difficult problems in optical design.

ZEMAX automatically divides most lengthy calculations, such as ray-tracing, diffraction analysis, and optimization into multiple parallel tasks, called threads. For example, consider the Geometric Bitmap Image Analysis feature, which is discussed in detail in the article How to Produce Photo-Realistic Output Images.  This feature takes a .jpg or .bmp bitmap image such as this:



and traces rays from each pixel through the optical system to the detector. For a fairly poor imaging system the resulting image is like so:



On a computer with a single CPU, ZEMAX would start at pixel 1 and trace all rays, then go to pixel 2 etc until all pixels have been traced. On a four processor machine, however, the task can be cut up like so:



This calculation would run four times faster than the single CPU case, minus a small amount for the overhead of splitting the image up, launching the threads, receiving the thread data when the threads return, and stitching the data back into a single image. Good software engineering can minimize, but not eliminate entirely, this overhead.