[Webkit-unassigned] [Bug 70533] [Chromium] Cull occluded tiles in tiled layers

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Oct 20 13:27:23 PDT 2011


https://bugs.webkit.org/show_bug.cgi?id=70533





--- Comment #6 from Dana Jansens <danakj at chromium.org>  2011-10-20 13:27:22 PST ---
(In reply to comment #5)
> (From update of attachment 111820 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=111820&action=review
> 
> > Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:300
> > +            if (child->opaque() && child->opacity() >= 0.9999 && childRenderSurface->drawOpacity() >= 0.9999)
> > +                layer->addOccludedArea(enclosingIntRect(childRenderSurface->drawableContentRect()));
> >          } else {
> >              IntRect drawableContentRect = layer->drawableContentRect();
> >              drawableContentRect.unite(child->drawableContentRect());
> >              layer->setDrawableContentRect(drawableContentRect);
> > +
> > +            if (child->opaque() && child->opacity() >= 0.9999 && child->drawOpacity() >= 0.9999)
> 
> I am not sure about this logic. Am I reading this code correctly that only a layer's direct child can occlude that layer, but not any other layers? Shouldn't it be the case that a layer is a potential occluder for all layers that draw before it so long as all of those layers are going into the same render surface? So, later siblings can occlude earlier siblings and children can occlude grandparents?

Yes you're right.  It's a todo to pass occlusion up to parents if the current layer is non-opaque.  In the opaque case the parent will already occlude all its children.

Siblings can occlude too and is a todo also.  I'm hoping we can just assume we're considering all the correct layers for occlusion and discuss other aspects of the code for this patch.  But your comments are right on point.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list