Mandelbrot - About

This project generates a Mandelbrot fractal image dynamically, at a resolution specified upon startup. The user can zoom in and reposition the display using the mouse. The base code was created by Ian D. Romanick, with instructions to convert his single-threaded code into a multi-threaded code, using the Windows 32 API.

My solution used a single work queue, with each thread pulling work off the queue, processing it, and possibly adding additional work back onto the queue. The base function will determine the number of processors and generate that number of threads upon starting the work, thus reducing the amount of thread creation overhead. The solution is designed with desktops in mind, and thus the large amount of lock contention required on the work queue is not a major issue. If the project were to be deployed on a machine with a large number of processors, likely the lock contention would limit the performance gains drastically.