Alexander Stohr wrote:

what about syncing to the vertical blank?
some cards do provide you an interrupt handler for this.

what is the vertical blank ? ......... do you know somewhere where I can get more information on this?

i mean if you want to do it with OpenGL in fullscreen anyways
then you just have to use double buffered mode and call glSwap()
anytimes you are done with rendering.

I am not using openGL .... just Xvideo stuff...... but even then, how do I know that I am calling glSwap() at the right time ? .................. does OpenGL wait till it has finished outputting one screen before it loads up the buffer ?

is this doable with XvShmPutImage(...) ? ................ this function does not seem to wait for the graphics card to finish rendering one screen before going out.


if you want to do something more complex, like showing fast drawing,
and dont care if you see intermediate images,
such like looking into incomplete objects,
then the single buffer mode might do the job.

this is exactly what I am trying to stop ..... the shearing effect ..... where you get a division in the middle of the screen between the last frame and the next frame

a copy of the whole framebuffer on an up-to date
grafics adapter will happen (depending on resolution)
some 500 times a second, that fast are those boards.
and you can still draw in between.

-Alex.

PS: OpenGL has quite high performance for bitmaps, 2D drawing
and fonts as well. of course any 3D runs fastest with it.
watch out for the tons of Linux OpenGL screen savers... ;-)


-----Original Message-----
From: Tim Roberts [mailto:[EMAIL PROTECTED]]
Sent: Thursday, January 30, 2003 20:36
To: [EMAIL PROTECTED]
Cc: Tim Roberts
Subject: Re: controlling refresh rate of the graphics card


On Thu, Jan 30, 2003 at 11:14:13PM +1100, etienne deleflie wrote:

thanks for your reply. I'm not sure that we are talking
about the same
thing though.

I want to be able to control the refresh rate
programatically..... for a
piece of software used in live video performance.

I dont know if my software is going to be spitting out 25
fps or 22.341
fps (depending on how much processing i am trying to
do)..... so I want
to make a call to the graphics card myself, to tell it to refresh exactly after each frame has been drawn.

That kind of control is simply not possible. Graphics controllers run on a
continuous clock, feeding pixels out in a continuous stream. Further,
because of the way you specify the clock divisors to the clock generator
PLLs, you generally cannot get more than 2 digits of accuracy anyway.

No, you will need to adapt yourself to the graphics chip, not vice versa.
You can do that in xvideo by using double-buffering, so that you're drawing
into buffer 2 while buffer 1 is being displayed.
--
- Tim Roberts, [EMAIL PROTECTED]
Providenza & Boeklheide, Inc.
_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel


_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel




_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel

Reply via email to