drawImage()
позволяет определить, какую часть исходного изображения будет рисовать на целевом холсте. Я бы предложил для каждого moveImg()
рассчитать предыдущую позицию изображения, переписать предыдущее изображение с той частью imgBkg
, а затем нарисовать новое изображение. Предположительно, это сэкономит вычислительную мощность.