<div dir="ltr">Daniel - cmiiw, but I believe the introduced lag won't be a full frame (16ms) because as i understood from RAOF, the input buffers on xmir aren't vysnch governed, only the ouput final fb render of unity-system-compositor (u-s-c)<div>
hence, x/compiz level can literally draw as fast as possible into the input buffers...and only the u-s-c composition turn is vsynch'd.</div><div>so while maybe it could be more effecient, its not as bad as vsynch lock at multiple levels.</div>
<div><br></div><div>and doesn't compiz have a bypass mechanism itself ? meaning shouldn't it draw into mir's input buffers directly ?</div><div>(i'm guessing this is exactly the problem you're pointing out...)</div>
<div>br,kg</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jun 24, 2013 at 9:06 PM, Daniel van Vugt <span dir="ltr"><<a href="mailto:daniel.van.vugt@canonical.com" target="_blank">daniel.van.vugt@canonical.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I was thinking about this just today, and the fact that it works means XMir is probably not working how it should (!)<br>

<br>
1. Double-buffered compositors (Usually only Compiz. Sometimes Gnome) have >=two buffers of their own. Only the front one gets sent to Mir's backbuffer...? This would be sub-optimal because:<br>
  (a) The X compositor is maintaining two buffers at the same time that Mir is. It's a waste of resources in the least<br>
  (b) It creates at least one frame of lag.<br>
<br>
2. Single-buffered desktops (all others?), which are updated by region blits only. No full-screen buffer swapping in the X compositor, because for most of them there is no "compositor". Last I checked, single buffering cannot work in Mir because we haven't implemented it. You have to simulate it by copying the X buffer to Mir's backbuffer (see mir/examples/fingerpaint.c). This is again sub-optimal because of the copying and lag.<br>

<br>
So given these desktops do work under XMir (I checked), and given Mir does not understand single buffering, that means our XMir approach probably has some slow buffer copying that needs to be eliminated. It might feel native, but benchmarks will disagree.<br>

<br>
Also, last I checked, RAOF's plan was to use composition bypass to solve this problem (when it's ready). Thus skipping the extra step we still have and achieving equal performance to native X.<br>
<br>
P.S. I just measured 9-16% improvement in windowed Compiz/XMir performance by tweaking the compiz config to eliminate Compiz' double buffering (untick everything under CCSM > OpenGL). This is safe under XMir because Mir does the real buffer swapping.<br>

<br>
- Daniel<div class="im"><br>
<br>
<br>
On 25/06/13 04:43, Jono Bacon wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
Hi All,<br>
<br>
In case anyone didn't see it, Thomas did some testing of other desktops<br>
running on XMir on Mir:<br>
<br>
  * XFCE -<br>
<a href="https://plus.google.com/u/1/110095242873945299189/posts/93dAjSwbmch" target="_blank">https://plus.google.com/u/1/<u></u>110095242873945299189/posts/<u></u>93dAjSwbmch</a><br>
  * LXDE -<br>
<a href="https://plus.google.com/u/1/110095242873945299189/posts/ZxfdAPrybtn" target="_blank">https://plus.google.com/u/1/<u></u>110095242873945299189/posts/<u></u>ZxfdAPrybtn</a><br>
  * GNOME 3 -<br>
<a href="https://plus.google.com/u/1/110095242873945299189/posts/3q7YJrc8Fpp" target="_blank">https://plus.google.com/u/1/<u></u>110095242873945299189/posts/<u></u>3q7YJrc8Fpp</a><br>
<br>
He couldn't test KDE because of an archive issue (non-Mir related). He<br>
will test this soon. Unity 7 already runs on XMir.<br>
<br>
I asked him about performance and he said it feels native.<br>
<br>
Thanks,<br>
<br>
    Jono<br>
<br>
--<br>
Jono Bacon<br>
Ubuntu Community Manager<br>
</div><a href="http://www.ubuntu.com" target="_blank">www.ubuntu.com</a> <<a href="http://www.ubuntu.com" target="_blank">http://www.ubuntu.com</a>> / <a href="http://www.jonobacon.org" target="_blank">www.jonobacon.org</a><br>

<<a href="http://www.jonobacon.org" target="_blank">http://www.jonobacon.org</a>><br>
<a href="http://www.identi.ca/jonobacon" target="_blank">www.identi.ca/jonobacon</a> <<a href="http://www.identi.ca/jonobacon" target="_blank">http://www.identi.ca/<u></u>jonobacon</a>><br>
<a href="http://www.twitter.com/jonobacon" target="_blank">www.twitter.com/jonobacon</a> <<a href="http://www.twitter.com/jonobacon" target="_blank">http://www.twitter.com/<u></u>jonobacon</a>><br>
<br>
<br><span class="HOEnZb"><font color="#888888">
</font></span></blockquote><span class="HOEnZb"><font color="#888888">
<br>
-- <br>
Mir-devel mailing list<br>
<a href="mailto:Mir-devel@lists.ubuntu.com" target="_blank">Mir-devel@lists.ubuntu.com</a><br>
Modify settings or unsubscribe at: <a href="https://lists.ubuntu.com/mailman/listinfo/mir-devel" target="_blank">https://lists.ubuntu.com/<u></u>mailman/listinfo/mir-devel</a><br>
</font></span></blockquote></div><br></div>