now only repainting when we have new data

save some CPU cycles.