With Scratch, you can get very smooth movement using Glide at great distances or intervals. However, the drawback of this method is that the Glide operation must end before the sprite can make any sensations, such as edge detection or collision. This is often undesirable.
The slight delay that you talk about when you press a key is actually directly related to the repetition rate of your keyboard. When you press a key on the keyboard, this key event is dispatched, but then there is a slight delay before it repeats. If you can find a way to change the repetition rate of your system keyboard, this will be ported to Scratch.
There is a limit to how many optimizations you can make in Scratch. This is, after all, a very simple (but very funny) entry-level programming environment. :)
source share