Sign in to follow this  

Fast flicker and tearing free text scrolling

Recommended Posts

Ok guys, you are my last hope. I feel like I'm loosing it :( So this is what I have tried to do (not a big deal I tought at the time) : a flicker free text scrolling ActiveX that could scroll some text with different speeds and directions. I have used OpenGl, double buffering, wglUseFontBitmaps & co to output the text. Since I did not want to relay on windows timer (too small resoulution), I have rendered the text on a different thread. So the ActiveX when it got instantiated it spawned a rendering thread. For synchronizing with the vertical blabk, I had used wglSwapIntervalEXT extension (actually now I'm using IDirectDraw's method GetScanLine to sync because OpenGl seems to use pooling and thats high proc usage). Everything worked ok on my office computers which were mainly P4 @ 2.4 or more with some low-end video cards (like GF4 MX440). Now for the problem : On my home computer (a 3200+ AMD Barton , 9800 PRO), it SUCKS ! It seems that my thread simply doesnt get enough processor time and I don't understant WHY !!! So the text sometimes stops scrolling and the effect is obvious. Since this text scroll should be an ActiveX component, I can not make the rendering into the main thread. I have tried increasing the priority class of the process, the thread priority, set a priority boost. All failed miserably. When I move the mouse over the ActiveX, it stopes the scrolling. HOW, oh HOW can I get some processor time once at every 10 milliseconds ? Is that too much that I'm asking ?? Thx. for reading this , guys. P.S. Yes I have tried multimedia timers. No they did not work because they also spawn a new thread.

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this