Skip to content

Commit

Permalink
Disable OpenGL vsync.
Browse files Browse the repository at this point in the history
This has not worked since the OSD merge and despite trying a number of
different approaches, I've utterly failed to fix it. I suspect it is due
to some interaction with the Qt rendering subsystem, though that doesn't
explain why it would fail when using the Qt painter as well as the
OpenGL version.

This will have no impact on windows or OS X builds (for which it is
unsupported and which manage vsync without it).

On Linux, VDPAU playback will be unaffected. For XVideo, XvMC and OpenGL
you will need to ensure the appropriate sync to vblank settings are
enabled. This is easily done in nvidia-settings for NVidia drivers (and
from memory in a similar way for ATI). Intel generally supports DRM sync
in its newer drivers and also enables XV_SYNC_TO_VBLANK by default for
its XVideo ports.

Going forward, we should probably remove the OpenGL vsync code.


git-svn-id: http://svn.mythtv.org/svn/trunk@26314 7dbf422c-18fa-0310-86e9-fd20926502f2
  • Loading branch information
Mark Kendall committed Sep 14, 2010
1 parent 248d258 commit f6edbde
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 1 deletion.
2 changes: 2 additions & 0 deletions mythtv/libs/libmythtv/vsync.cpp
Expand Up @@ -102,11 +102,13 @@ VideoSync *VideoSync::BestMethod(VideoOutput *video_output,
#ifndef _WIN32
TESTVIDEOSYNC(DRMVideoSync);
#ifdef USING_OPENGL_VSYNC
/*
if (gCoreContext->GetNumSetting("UseOpenGLVSync", 1) &&
(getenv("NO_OPENGL_VSYNC") == NULL))
{
TESTVIDEOSYNC(OpenGLVideoSync);
}
*/
#endif
#endif // _WIN32
#ifdef __linux__
Expand Down
4 changes: 3 additions & 1 deletion mythtv/programs/mythfrontend/globalsettings.cpp
Expand Up @@ -3615,6 +3615,7 @@ class WatchListSettings : public TriggeredConfigurationGroup
};

#ifdef USING_OPENGL_VSYNC
/*
static HostCheckBox *UseOpenGLVSync()
{
HostCheckBox *gc = new HostCheckBox("UseOpenGLVSync");
Expand All @@ -3626,6 +3627,7 @@ static HostCheckBox *UseOpenGLVSync()
"video timing, reducing frame jitter."));
return gc;
}
*/
#endif

static HostCheckBox *LCDShowTime()
Expand Down Expand Up @@ -4140,7 +4142,7 @@ PlaybackSettings::PlaybackSettings()
general1->addChild(columns);
general1->addChild(LiveTVIdleTimeout());
#ifdef USING_OPENGL_VSYNC
general1->addChild(UseOpenGLVSync());
//general1->addChild(UseOpenGLVSync());
#endif // USING_OPENGL_VSYNC
#if defined(USING_XV) || defined(USING_OPENGL_VIDEO) || defined(USING_VDPAU)
general1->addChild(UsePicControls());
Expand Down

0 comments on commit f6edbde

Please sign in to comment.