Hi!
I'm new to OpenGL and to intro coding and I tried to do a simple scroll effect... which drives me a little crazy

To set the vsync setting in the GL I'm using:
wglSwapIntervalEXT = wglGetProcAddress("wglSwapIntervalEXT");
if (wglSwapIntervalEXT)
wglSwapIntervalEXT(1);
But this is useless if someone has forced his vsync setting to off using his driver. My next thought was to calculate the framerate by myself ( where I found this forum with google... ) and I followed some threads where the guys are talking about a delta-timer which guarantees a solid FPS. So my next thought was about taking a highprecision timer, store the last taken time in a var and sub/compare it with a time taken right now:
GetSystemTimeAsFileTime (&ftCurrent);
liconvert.LowPart = ftCurrent.dwLowDateTime;
liconvert.HighPart = ftCurrent.dwHighDateTime;
liCurrent = (double)liconvert.QuadPart/10000;
if (liCurrent - li_oldTime > 16) {
..... do stuff .....
glClearColor(0.1568f,0.2705f,0.71764f,1.0f);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear Screen And Depth Buffer
glLoadIdentity();
DrawGLScene();
glFlush();
SwapBuffers(hDC);
glFinish();
li_oldTime = liCurrent;
The situation right now is that the scrolltext flickers .... a little less if vsync is on, a little more if vsync is off. I've tried comparing the "100-nanosecond intervals" from GettSystemTimeAsFileTime but it still flickers.
It seems that my problem is that the program renders sometimes more, sometimes less frames than the Adapter is displaying. Is there any way how I can fix that ? I've checked the dependencies of several intros to see if they are based on OpenGL too, and played around with vsync settings and I never noticed a flicker on effects. So..what am I doing wrong ?
Thanks for your help

.
Bye
PS.: I've attached the executable, so you can see my problem. If you are unsure to run it, it's packed with UPX, so just unpack it and you can inspect/check it for safety.