This looks to be simply the effect of using `Flip` which automatically synchronizes your program to update every 30 or 60 fps, regardless of whatever else delays you might be using.
Flip has a framerate timing thing built in, unless you call:
SetSwapInterval(0)
(I think) ... which disables it (call it once at the top).
You will be seeing the streakyness/blurriness of sprites moving (the 25-30fps effect) at framerates from 30 to 59 because the Flip command is downsizing the framerate to 30fps all the time. You might be thinking you're running at 30-59 fps but it's really either going to lock on to 30 or 60 (or multiples of that, or 15 or 8 or 4 or 2 etc).
Flip has a framerate timing thing built in, unless you call:
SetSwapInterval(0)
(I think) ... which disables it (call it once at the top).
You will be seeing the streakyness/blurriness of sprites moving (the 25-30fps effect) at framerates from 30 to 59 because the Flip command is downsizing the framerate to 30fps all the time. You might be thinking you're running at 30-59 fps but it's really either going to lock on to 30 or 60 (or multiples of that, or 15 or 8 or 4 or 2 etc).