W3C home > Mailing lists > Public > whatwg@whatwg.org > March 2013

Re: [whatwg] Enabling LCD Text and antialiasing in canvas

From: Gregg Tavares <gman@google.com>
Date: Fri, 15 Mar 2013 21:52:44 -0700
Message-ID: <CAKZ+BNpT8fPMTpG0vsKAjVbvcQqLgmixhpDsMDtJvtbFLnvRXw@mail.gmail.com>
To: WHATWG <whatwg@lists.whatwg.org>
Let me ask again in a different way ;-)  Specifically about LCD style
antialiasing.

What about a context attribute "antialiasRenderingQualityHint" for now with
2 settings "default" and "displayDependent"

   context.antialiasRenderingQualityHint = "displayDependent"

I'm thinking of it like this. The canvas spec does not say how antialiasing
works or even that it exists so right now a UA is free to antialias in
anyway it sees fit. It can do no antialiasing. It can do LCD antialiasing.
It can do alpha antialiasing. It can use different algorithms. In fact, the
software rasterizers between Firefox and Chrome already antialias different
as do different GPUs.

All we're looking for is some way to hint that we'd prefer LCD antialiasing
if the UA thinks it's best for a given situation. We already can't count on
a certain quality or algorithm

   context.antialiasRenderingQualityHint = "displayDependent"

The advantage to this hint is that

   (a) a UA is free it ignore it and rendering will not be any worse/better
than it is now

 and

   (b) as the world moves to HD-DPI everywhere UAs will pick alpha-AA and
things just magically work.

As for rotating, scaling, blending a cavnas it's up to the app to opt into
this hint and it's up to the UA when to honor it.

I'm not seeing the downside here. You're not breaking anything because the
app already has no idea what kind of AA a UA is using. The hint is forward
compatible as well.

The only place I see an issue is UA zooming. But if the app really cares
and if we really care we can provide an API to figure out the zoom level.
Then an app that cares can change the size of their canvas's backingstore
so its 1:1 device pixels for a given zoom level and re-render. Lots of apps
would like to do that with or without the proposed "hint" as it would let
them zoom in a way that matches the text and svg on the page.

Everybody wins! :-)












   1) not ant alias
   2) antialias in any way it sees fit

  could happily implement LCD style AA and still be spec complien
Received on Saturday, 16 March 2013 04:53:13 GMT

This archive was generated by hypermail 2.3.1 : Saturday, 16 March 2013 04:53:15 GMT