Поскольку вы знаете координаты вашей мыши и маленькое изображение, которое собираетесь закрасить фон, вы можете оптимизировать следующим образом [псевдокод]:
void mouseMoved(event) {
lastCoordinates = currentCoordinates;
currentCoordinates = event.coordinates;
image.repaint(lastCoordinates.x, lastCoordinates.y, smallImage.width, smallImage.height);
image.repaint(currentCoordinates.x, currentCoordinates.y, smallImage.width, smallImage.height);
}
таким образом, что вы перерисовываете только две областивы на самом деле заботитесь не о целом фоне.
Также, читая javadoc, кажется, что код выше моего фактически вызывает 2 отдельных вызова для рисования, что было бы неэффективно.Вы можете попытаться передать значение 10 миллисекунд или около того, чтобы убедиться, что 2 краски выполняются вместе.
Проверьте javadoc на repaint (), который принимает 4 и 5 аргументов: