watch visibility and re-render if necessary