The spot where
Dynamic[x] is on the screen only gets to do anything when this spot itself is actually visible on the screen. i.e.
x gets tracked and all dependent expressions on it are updated, when the spot on the screen itself where the evaluated output of
Dynamic[x] is visible. If you hide the Mathematica window with another window for example,
Dynamic will not update any more.
So, when you scroll down or up, the front-end does not bother any more updating that spot on the screen.
Now why it runs at full speed. First, I really do not understand what you mean by
Dynamic[f[x_] := s*x]. What exactly are you trying to do with this? One applies
Dynamic on symbols and expressions, not on a delayed function definition as you are doing.
My guess on why FE goes to a loop, is that it is evaluating this expression over and over since it depends on
s which is dynamic since you set the whole expression as Dynamic.
But all what you have to do is
f[x_] := s*x
and now if you type
f then change the slider, and retype
f again, then you'll see that you get a new value returned, since it used the updated value of
And if you type
Dynamic[y = s]
in another place, and then move the slider, you'll see that this spot on the screen update on its own, since you marked this spot as
Dynamic, then FE will now refresh
y automatically when