I like this! Before we commit it however we should do something reasonable for jobs with many thousands of tasks.
Perhaps, when there are greater than, e.g., 700 tasks, each pixel column would represent a group of tasks (numTasks/700), with the value of the pixel proportional to the number of tasks that have that degree of completion. So, if 50% of the tasks in the group are 10% done, then the ten-percent pixel would be half-bright. Would that be too expensive to compute?
Short of that, we could page through the tasks, as we do elsewhere. So the first image would contain the first 700 tasks, with a "next" button to get the image for the next 700 tasks, and so on.
Or, we could simply disable the display for jobs with more than a certain number of tasks, but that'd be a shame.