[Webkit-unassigned] [Bug 76265] New: Cache RenderStyle pointer as a method to avoid performance regression for region styling
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Jan 13 04:32:25 PST 2012
https://bugs.webkit.org/show_bug.cgi?id=76265
Summary: Cache RenderStyle pointer as a method to avoid
performance regression for region styling
Product: WebKit
Version: 528+ (Nightly build)
Platform: Unspecified
OS/Version: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: Layout and Rendering
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: mihnea at adobe.com
Blocks: 71488
During the investigation of regression introduced by region style patch (https://bugs.webkit.org/show_bug.cgi?id=71488), it turned out that an important contribution to the regression was introduced by the layout of RenderObject::style()
inline RenderStyle* RenderObject::style() const
{
if (!inRenderFlowThread())
return m_style.get();
return styleInRegion();
}
During several runs of webkit build in instruments, i was able to identify some areas in which the method of caching RenderStyle pointer and replace style() with the cached pointer seems to fix the performance regression introduced by the modified version of style().
These areas are:
* updateBoxModelInfoFromStyle (RenderBoxModelObject/RenderBox)
* computePreferredLogicalWidths
* styleDidChange/styleWillChange (RenderText/RenderBlock/RenderBoxModelObject/RenderInline/RenderBox)
* RenderBlock layout methods (layoutRunsAndFloats/LineBreaker::nextLineBreak/layoutInlineChildren/layoutBlock)
* RenderBox willBeDestroyed/paintBoxDecorarations/computeRectForRepaint/computeLogicalHeight
* RenderText widthFromCache/width
I intend to create a WebKit bug for each of the above bullets instead of creating a big patch.
--
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