[PATCH 0/3] present: Improve interactions with compositing manager

Mario Kleiner mario.kleiner.de at gmail.com
Sun Feb 8 10:31:58 PST 2015


Hi Keith and Owen,

it's a bit too late for XOrg 1.17, but i reviewed and tested
Keith's patchset, after rebasing the 3rd patch on top of 1.17-rc2.
The series has my

Reviewed-and-Tested-by: Mario Kleiner <mario.kleiner.de at gmail.com>

My patch 1/3 is Keith's patch 3/3, just rebased and with my
review/test tags for convenience. Patch 2/3 is an extension of
Keith's idea to target vblanks more than 1 frame into the future,
on top of Keith's patch. There is no patch 3/3, the numbering is a
credit to my never ending struggles with git send-email ;)

The commit message of patch 2/3 contains some test results on both
KDE/KWin and GNOME-3, the versions from KUbuntu 14.10. All done with
hardware timing measurement equipment to check when frames really show
up at the video output and if lying about timestamps and lag is reduced.

As you can see from those results, the patchset sort of helps on
an otherwise idle desktop under KDE/KWin, but not at all even with
one instance of glxgears running in parallel to the test app.

On GNOME-3 with my patch applied on top of Keith's it helps for vblanks > 1
frame in the future, so it maybe could be useful for applications which
don't need fps == full video refresh rate, e.g., video players running
at 30/25/20/15 fps or similar. It doesn't work well for full 60 fps, as
Owen suspected. Strangely running a glxgears in the background on GNOME
does help all cases on GNOME, maybe by putting the gpu into a higher
performance state? This was on Intel HD-4000. I also did some testing on
nouveau with variable results.

Given the variability, there's probably not much of a point in applying those,
maybe at most after hiding them behind some xorg.conf option by default,
so people can experiment with it if they want. I don't care one way or
the other.

Maybe merging the first two patches as a cleanup would make sense.

-mario



More information about the xorg-devel mailing list