protected override void OnBeforeExecute() { Rectangle blitRect = new Rectangle(0, 0, Source.Width, Source.Height); BlitRects = new Rectangle[PaintDotNet.SystemLayer.Processor.LogicalCpuCount]; Utility.SplitRectangle(blitRect, BlitRects); BlitWindows = new Surface[BlitRects.Length]; for (int i = 0; i < BlitRects.Length; ++i) { BlitWindows[i] = Dest.CreateWindow(BlitRects[i]); } ThreadPool = new PaintDotNet.Threading.ThreadPool(); base.OnBeforeExecute(); }