Let's dive into the project's core. To speed up the Mandelbrot picture-generation, we will split the whole computation into multiple jobs. A Job is a request of a specific task. Depending the number of your CPU cores, several jobs will be executed simultaneously. A Job class produces a JobResult function that contains result values. In our project, a Job class generates values for one line of the complete picture. For example, an image resolution of 800 x 600 requires 600 jobs, each one generating 800 values.
Create a C++ header file called JobResult.h:
#include <QSize> #include <QVector> #include <QPointF>
#include <QMetaType> struct JobResult { JobResult(int valueCount = 1) : areaSize(0, 0), pixelPositionY(0), moveOffset(0, 0), scaleFactor(0.0), values...