performance enhancement for drawing

the whole grid does not get repainted each time result is returned from
the worker