improve redraw for gl