On Thu, 31 Oct 2002 [EMAIL PROTECTED] wrote: > 1. Is there any way to detect vertical retrace in X so that > the tearing down of the image can be prevented ? [...] That's exactly what I need for my application. So I came up with the following hack, (ab-)using the XF86VidMode-Extension: 1) Get the current viewport, using XF86VidModeGetViewPort. 2) Set the same viewport, using XF86VidModeSetViewPort (hoping that the driver sync with the vertical retrace when setting the viewport). 3) Do an XCopyArea or XdbeSwapBuffers to display the image.
Unfortunately, this approach has 3 drawbacks: 1) It does not work with all video-drivers. It seems to work with the matrox-MGA driver (of XFree86-4.1.0). A colleague told me it worked with some nvidia-drivers as well. However, it does not work with the current ATI or Trident-drivers. 2) It uses an extension for something it was not designed for. 3) Syncing may be very expensive (as drivers usually poll and wait for the vertical retrace). You can have a look at some demos that I did: URL http://www.complang.tuwien.ac.at/skral/download/eyefriendly_xfree86/ Best Regards, Stefan _______________________________________________ Xpert mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/xpert