cleanup some gl usage
avoid updating canvas when possible