more drawing optimization