The problem is in lcl\include\scrollingwincontrol.inc around line 200
procedure TScrollingWinControl.ScrollBy(DeltaX, DeltaY: Integer);
begin
if HandleAllocated and IsWindowVisible(Handle) then
begin
TWSScrollingWinControlClass(WidgetSetClass).ScrollBy(Self, DeltaX, DeltaY);
Invalidate;
end
else
inherited ScrollBy(DeltaX, DeltaY);
end;
No idea, why there is an Invalidate.
At least on Windows it can be commented out.
And, then only the focused Control, will get repainted (even that may not be needed, but it is just one)
Commenting this out, may mean, that other WidgetSet need to be fixed then.
Please report on Mantis