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