[Webkit-unassigned] [Bug 76336] [Texmap] TextureMapper creates two many big intermediate surfaces

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Jan 16 06:19:15 PST 2012


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





--- Comment #9 from Noam Rosenthal <noam.rosenthal at nokia.com>  2012-01-16 06:19:15 PST ---
> > Source/WebCore/platform/graphics/texmap/TextureMapperNode.cpp:416
> > +        // FIXME: blend the two if both exist.
> 
> Any test for that?
No test. That's why I didn't bother with it at this point. Also, very few sites use reflections at all, or in that way specifically (having a mask on a layer, and then reflecting it with an additional mask).

> Since we now compute the transforms just before painting, it feels wasted to do:
> - Compute the transforms for the whole graphic layer tree before we start painting.
> - During painting, possibly reverse a whole part of the transformed branch in case we are rendering to an intermediate surface.
> 
> So it might be simpler and more efficient to integrate computeTransformsRecursive into paintSelf and decide if we combine with the parent transform or not. I'm not sure how much work that would be so this could be done in another patch.

True, those inverses are kind of yucky. Though in the future I want to allow computing the transform only if needed, as an optimization. Also, the bounding rect for root is still needed for visible-rect calculations.
In short, I'd rather leave this for another patch.

> 
> > Source/WebCore/platform/graphics/texmap/TextureMapperNode.cpp:453
> > +    paintOptions.transform = m_transform.combinedForChildren().inverse();
> 
> Humm, this is stretching my brain a bit, but I think that this should be m_transform.combined().inverse(), else this would revert the perspective transform in combinedForChildren which needs to act on the Z component, and rendering on the intermediate surface will flatten the Z.

This has to use combinedForChildren(). Otherwise it doesn't flatten non-preserve-3d surfaces correctly. I'll add a coment.

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