[fix] use lazy redraw for smooth transition