<p>I should have been clearer. This is like compiz, where non-transformed viewports look perfect and transformed viewports look illegible. Nobody appears to have a problem with this for compiz; why should Wayland have anything different?</p>

<p>Sending from a mobile, pardon the brevity. ~ C.</p>
<p>On Nov 16, 2010 7:18 PM, &quot;Christopher James Halse Rogers&quot; &lt;<a href="mailto:christopher.halse.rogers@canonical.com">christopher.halse.rogers@canonical.com</a>&gt; wrote:<br type="attribution">&gt; On Tue, 2010-11-16 at 18:30 -0800, Corbin Simpson wrote:<br>
&gt;&gt; On Tue, Nov 16, 2010 at 6:14 PM, <a href="mailto:jonsmirl@gmail.com">jonsmirl@gmail.com</a> &lt;<a href="mailto:jonsmirl@gmail.com">jonsmirl@gmail.com</a>&gt; wrote:<br>&gt;&gt; &gt; What is the plan for anti-aliasing? If an app draws a beautiful<br>
&gt;&gt; &gt; anti-aliased scene to a buffer, and then that buffer is transformed by<br>&gt;&gt; &gt; the compositor, all of that beautiful anti-aliasing is going to get<br>&gt;&gt; &gt; messed up. Especially sub-pixel antialiasing if the compositor<br>
&gt;&gt; &gt; transform changes the alignment of the screen with the LCD pixels.<br>&gt;&gt; &gt;<br>&gt;&gt; &gt; One approach is to tell the app the final window transform and let<br>&gt;&gt; &gt; them draw a transformed screen instead of a rectangle that gets<br>
&gt;&gt; &gt; transformed by the compositor. But this means an app need to be able<br>&gt;&gt; &gt; to handle being told to project itself onto a rotating sphere.<br>&gt;&gt; &gt;<br>&gt;&gt; &gt; Another approach is for apps to create a screen graph out of<br>
&gt;&gt; &gt; primitives that some other system renders when it know the final<br>&gt;&gt; &gt; transform. This method lets the compositor implement animations<br>&gt;&gt; &gt; without involving the app.<br>&gt;&gt; &gt;<br>
&gt;&gt; &gt; This problem is closely tied into glyph generation. Sooner or later<br>&gt;&gt; &gt; we&#39;re going to be generating glyphs on the GPU in real-time. If we&#39;re<br>&gt;&gt; &gt; doing that then you don&#39;t want anti-aliased glyphs being generated<br>
&gt;&gt; &gt; inside the apps like we do today. Apps will still need to compute<br>&gt;&gt; &gt; glyph spacing and pick a spacing as a result of hinting, but the<br>&gt;&gt; &gt; compositor may want to regenerate the glyphs if the window is shrunk,<br>
&gt;&gt; &gt; zoomed, twisted, etc.<br>&gt;&gt; &gt;<br>&gt;&gt; &gt; I&#39;m sure there are other ways to handle anti-aliasing. If the goal is<br>&gt;&gt; &gt; to make pixel perfect images every time then anti-aliasing strategy is<br>
&gt;&gt; &gt; something that needs to be planned.<br>&gt;&gt; <br>&gt;&gt; What&#39;s the difference between Wayland and X11 here, exactly? We<br>&gt;&gt; *already* draw anti-aliased subpixel-specific font glyphs on GPUs and<br>
&gt;&gt; it looks fine.<br>&gt;&gt; <br>&gt; <br>&gt; - Unless your compositor is transforming the buffer before scanout, at<br>&gt; which point your calculated antialiasing is no longer optimal.  Say<br>&gt; you&#39;ve calculated subpixel AA with an RGB subpixel order, but the<br>
&gt; compositor flips your buffer.  Or if the window buffer is being shrunk<br>&gt; the fonts might be better rendered with a different algorithm<br>&gt; altogether.<br>&gt; <br>&gt; I think the point here is that if you treat a window containing text as<br>
&gt; just an image you&#39;ll get less than optimal anti-aliasing under window<br>&gt; transformations.<br>&gt; <br>&gt; This seems to be a special case of the more general observation that if<br>&gt; applications knew the transformations applied to their surfaces then<br>
&gt; they could potentially perform higher quality rendering.  I don&#39;t think<br>&gt; the general case is feasible to accommodate, and I&#39;d suspect that the<br>&gt; font-rendering case won&#39;t be significantly easier.<br>
</p>