Only allow several redraws of a preview shape per second or something so that rapid mouse movement doesn't result in sluggish execution
For polygonal selection we don't need to redraw the polygon each time. Suppose we added A, B, ... N points and are adding a new point P. We can then draw the A, B, ... N polygon once and only redraw the preview of a A, N, P triangle. I.e.: