What about double buffering?

Hi, I recently made a source file that can draw on the screen an object “line” (an homing line), made of some parameters:> lenght;

omega( rotation speed);
x position;
y position;
line angle;
speed; (the line always moves in the direction of his angle);
two function (the first is to follow a point, the second print
the line on the screen)

Notice that every time i use fillrect to erase all the screen (in this way the line doesn’t leave a trace).
At this point if i create a hwsurface w/out doublebuff the screen flicker.
Instead, if i don’ t use double buf my when my line rotates it changes its angle too much every time (it isn’t a fluid rotation). This is due to the fact that every cycle (every cicle i draw the line) takes 1 or 0 ms to perform w/out double buf and 12 ms with it!!! My line rotates every time omega*dt, where dt is the time needed to perform a cicle, if dt is 12 ms my angle changes too much!
If somebody can help me I can send the source( a few kbytes), Bye!