|
|
1
4
mandelbrot集合的不同点需要不同的时间来计算(边缘附近的点更昂贵),因此给每个工作者偶数个像素会使其中一些点比其他点完成得更快。 将图像分割成小矩形(平铺)。使用多线程队列创建一个工作列表,并用瓦片填充它。每个工作线程循环,从工作列表中选择一个tile并提交结果,直到工作列表为空。 |
|
|
2
2
像素间隔均匀,那么为什么要发送每个像素的坐标呢?只需告诉每个节点其左下角像素的x和y坐标、像素之间的间距以及像素数。通过这种方式,您的工作单元规范是一个小的恒定大小。 就更大的设计而言,拥有比物理内核更多的工作线程是没有意义的。每个内核多个线程的上下文切换只会降低性能。 |