[Mesa-dev] What use do swap interval > 1 and OML_sync_control divisor and remainder have?

Ian Romanick idr at freedesktop.org
Mon Jan 27 11:26:23 PST 2014

On 01/24/2014 04:32 AM, Pekka Paalanen wrote:
> Hi,
> I am investigating what kind of Wayland protocol extensions would be
> needed to support proper presentation timing. Looking at existing
> works, I am wondering about two things whether they have any real use.
> Where is swap interval (e.g. eglSwapInterval) greater than one useful?
> Intervals 0 and 1 I understand, and Mesa EGL Wayland already supports
> those. But when would you like to make your framerate a fraction of the
> display's?

There are a number of theoretical uses, but I don't know that we've ever
seen any in the wild.

One is video playback.  You likely want 30fps there.

Imagine that you have a game that only needs 30fps to be playable.  When
you're running on battery, you may want the system to throttle you to a
lower framerate to save battery.

You could also have a game that can always hit at least 30fps, but
sometimes it may go higher.  Using a swap interval of 2 gives the the
game a consistent framerate.  Sometimes that is better.

120Hz monitors.

> When are the target-MSC related remainder and divisor parameters as
> defined in the GLX_OML_sync_control useful? Why does also X11 Present
> protocol include remainder and divisor?

X11 Present has it to support GLX_OML_sync_control.  I believe that
GLX_OML_sync_control has it to support playback of content on monitors
that aren't 60Hz.  There used to be these things called CRTs, and some
of them had wonkey refresh rates... like 72Hz.

> GLX_OML_sync_control defines that for interlaced displays MSC is
> incremented for each field. With divisor and remainder you could then
> target only top or bottom fields. Is that useful, and do we care about
> interlaced displays anymore?
> I am contemplating on not supporting these, because I am going to
> propose using an UST-like clock as the "standard clock language" in
> Wayland present extension. Supporting MSC-based timings would add
> complexity. Therefore I would like to know where and how the above
> mentioned are useful, because I cannot imagine it myself.
> Please, let me know of real actual use cases and existing software,
> where these features offer a visible benefit and what that benefit is
> exactly. I am not interested in what one might do in theory, I am
> interested in real-world examples where they have proved useful. Well,
> maybe also theories if they allow taking advantage of some new cool
> technology.
> Btw. if you think that using UST for presentation timing and feedback
> is nonsense, and MSC is the only right way, let me know and I can start
> another email thread about that detail after preparing my material.
> Thanks,
> pq
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev

More information about the xorg-devel mailing list