Зависит от задачи, но ещё можно без буфера - делать сдвиг прямоугольника, и дорисовывать только верхнюю/нижнюю полосу в зависимости от направления прокрутки.