only refresh framebuffer if it is dirty