Summary: | [TexMap] A Minor optimization of GraphicsLayerTransform. | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Dongseong Hwang <dongseong.hwang> | ||||||||
Component: | Layout and Rendering | Assignee: | Dongseong Hwang <dongseong.hwang> | ||||||||
Status: | RESOLVED FIXED | ||||||||||
Severity: | Normal | CC: | noam, simon.fraser, webkit.review.bot | ||||||||
Priority: | P2 | ||||||||||
Version: | 528+ (Nightly build) | ||||||||||
Hardware: | Unspecified | ||||||||||
OS: | Unspecified | ||||||||||
Attachments: |
|
Description
Dongseong Hwang
2012-12-26 00:45:24 PST
Created attachment 180733 [details]
Patch
Comment on attachment 180733 [details]
Patch
This is redundant; We already perform those checks in GraphicsLayerTextureMapper.
(In reply to comment #2) > (From update of attachment 180733 [details]) > This is redundant; We already perform those checks in GraphicsLayerTextureMapper. But TextureMapperLayer::flushCompositingStateForThisLayerOnly can change GraphicsLayerTransform every flush. Furthermore, animations can call setAnimatedTransform(const TransformationMatrix& matrix) with the same matrix. (In reply to comment #3) > (In reply to comment #2) > > (From update of attachment 180733 [details] [details]) > > This is redundant; We already perform those checks in GraphicsLayerTextureMapper. > > But TextureMapperLayer::flushCompositingStateForThisLayerOnly can change GraphicsLayerTransform every flush. > > Furthermore, animations can call setAnimatedTransform(const TransformationMatrix& matrix) with the same matrix. OK, you should describe in the changelog what use cases this actually optimizes. Created attachment 180764 [details]
Patch
(In reply to comment #4) > OK, you should describe in the changelog what use cases this actually optimizes. Absolutely! I did. Comment on attachment 180764 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=180764&action=review > Source/WebCore/ChangeLog:11 > + Don't combine transforms if GraphicsLayerTransform isn't changed actually. > + > + Now this patch optimizes flushCompositingStateForThisLayerOnly() and > + setAnimatedTransform() in TextureMapperLayer. Only multiply the transformation matrices if the paramaters are actually changed. This optimizes the code path called from flushCompositingStateForThisLayerOnly(), and potentially setAnimatedTransform(). Created attachment 180765 [details]
Patch
(In reply to comment #7) > Only multiply the transformation matrices if the paramaters are actually changed. > > This optimizes the code path called from flushCompositingStateForThisLayerOnly(), and potentially setAnimatedTransform(). I don't think it is not natural for you to do favor to me. Thank you very much! Comment on attachment 180765 [details] Patch Clearing flags on attachment: 180765 Committed r138487: <http://trac.webkit.org/changeset/138487> All reviewed patches have been landed. Closing bug. |