per-pixel redraws for small changes

If less than 25% of the screen has changed, the delta will be rewritten
as individual pixels to improve draw smoothness. If the delta is larger
than 25% of the screen, it's too slow to draw each pixel and the entire
changed area is updated.