[Webkit-unassigned] [Bug 88482] [Chromium] RenderSurface for opacity with descendentDrawsContent is slow when large

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Jun 8 20:13:23 PDT 2012


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





--- Comment #7 from zlieber at chromium.org  2012-06-08 20:13:22 PST ---
Thanks for comments; some responses below.

> 
> > Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp:278
> > +bool CCLayerImpl::layerTargetSurfaceDirty() const
> 
> Since this is only called from damage tracker, can it be done there? Maybe file-static method if you like? Can the name be better so we don't need the verbose comment below?

It sure could, but this answers a pretty generic question using only class's own data, so seemed natural to be on the layer. The question is how generic that question is - maybe a different name will make this better? layerTargetSurfaceRequiresRedrawing/ContentsChanged/PixelsChanged?

> 
> > Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h:317
> > +    // affect the pixels on its target surface, but would require redrawing
> 
> "on its target surface" -> "on its own surface" ?

Sounds good, also need to add something about layers that don't have surfaces.

> 
> > Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h:318
> > +    // of the target surface of this layer's target surface
> 
> "redrawing the contents of the layer's surface in its target" ?

Same here.

> 
> > Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:231
> > +        renderSurface->setContentsChanged(!renderSurface->damageTracker()->currentDamageRect().isEmpty());
> 
> I'm not sure why we need this bool on the RenderSurface. It can already see the rect is empty as it looks up here.

Yeah I really did want to put this in, but couldn't see how the surface can look at this rect without talking to damage tracker directly. Is there a way? 

If not then this flag can go after we fix the quad creation and relationship between these classes and occlusion tracker, so the flag can be set on the quad externally.

> 
> > Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:422
> > +void CCLayerTreeHostImpl::removeRedundantPasses(CCRenderPassList& passes)
> 
> I think this could have a better name. "Redundant" doesn't explain what this function is doing really - why are they redundant?

removePassesWithCachedTextures?

-- 
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