avoid redundant flushes
don't draw the screen at all until we need to flush