[webkit-dev] New web-facing canvas feature: "opaque" attribute

Dean Jackson dino at apple.com
Thu Mar 14 14:00:38 PDT 2013


On 15/03/2013, at 7:55 AM, Gregg Tavares <gman at google.com> wrote:

> 
> 
> 
> On Thu, Mar 14, 2013 at 1:38 PM, Ryosuke Niwa <rniwa at webkit.org> wrote:
> On Thu, Mar 14, 2013 at 12:55 PM, Dean Jackson <dino at apple.com> wrote:
> 
> On 15/03/2013, at 6:50 AM, Dana Jansens <danakj at chromium.org> wrote:
> 
>> On Thu, Mar 14, 2013 at 3:46 PM, Dean Jackson <dino at apple.com> wrote:
>> I'm not sure I like this proposal. Why is canvas special? Why doesn't <img> get an opaque attribute (or flag)? Why not every element?
>> 
>> There is ongoing work to infer opaqueness in every other kind of element when possible. See for example https://bugs.webkit.org/show_bug.cgi?id=70634
> 
> Yes, I'd prefer to infer it rather than specify it. For example, I could infer that a canvas is opaque if it has a non-transparent CSS background-color.
> 
> The content of the canvas has to be blended with the background color so that doesn't help optimization. If there's a background color you first have to do a full blend of the contents of the canvas with the background color. Where as if the canvas has no alpha then that step can be avoided.

We're probably getting a bit off the general topic here, but why don't you consider the background color as a fillRect(0, 0, width, height) on the empty canvas? As has been said, this doesn't change the behaviour of the painting/blending operations in the canvas itself, just how it is composited into the document.

I guess we should take this conversation to the HTML list.

Dean

> 
>  
> 
> I like this approach. It means that developers don't have to explicitly use this feature to get the performance benefits.
> 
> In fact, this is the preferred performance optimization approach on the Web. We don't provide explicit APIs to optimize performance. We make sensible APIs which allows us to implement more optimizations on common cases behind the scene.
> 
> - R. Niwa
> 
> 
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20130315/2755976d/attachment.html>


More information about the webkit-dev mailing list