trying to optimise performance with only clearing what has been drawn