On Tue, 2005-05-03 at 20:39 -0700, Mark Frey wrote: > Okay, I pulled down the latest CVS rebuilt with OpenGL vsync off, and > here's a summary of all the cases:
> OpenGL vsync compile flag on and: > > 1. No sync to vblank settings on through the nvidia settings tool: > smooth playback except some small stuttering when coming out of skip > forward/back and when the OSD is up. Small to moderate tearing limited > to the top quarter of the screen. > 2. OpenGL sync to vblank turned on through the nvidia-settings tool: > much as above, with slightly more stutter. I think we should get one of these cases working. The OSD stuttering has to do with limited buffers in XvMC, the code will allocate more buffers once the hardware/drivers improve. I'm not sure why you are getting this tearing, we shouldn't return from WaitForFrame() until just after a retrace, and then we plenty of time to display the frame. Unless glXWaitVideoSyncSGI just doesn't work when sync to vblank is disabled, or you have multiple monitors and we are syncing to the wrong one (quite possible with Xinerama). > 3. OpenGL sync to vblank, Video Texture sync to vblank, and Video > Blitter sync to vblank on through the nvidia settings tool: the worst > stuttering, especially with the OSD up and coming out of skip > forward/back. Would seem to get into a mode where it would constantly > stutter, skipping back a couple of times would fix it such that the > stuttering was only occasional. No visible tearing of the image. My guess is that internally XvMC uses Textures and blits multiple times per frame, so enabling this just adds too many wait states to the pipeline. I know that when the hardware first became reasonably programmable with the FX series, enabling sync-to-vblank meant that each pass was synced to vblank, and not just the display passes. XvMC is probably implemented as just another a fragment program within the drivers, and so is handycapped the same way by sync-to-vblank. -- Daniel
_______________________________________________ mythtv-dev mailing list [email protected] http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
