Perf question (reflow branch)

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Perf question (reflow branch)

Boris Zbarsky
So I was profiling the testcase for bug 352367 on the reflow branch, and about
5% of total time is spent in in (not under!) nsRuleNode::GetStyleData.  Another
4.5% of the time is spent in (not under) nsStyleContext::GetStyleData.  The
total time spent under nsStyleContext::GetStyleData is about 10%, of course.

About half the calls to nsStyleContext::GetStyleData come from
nsFrame::IntrinsicWidthOffsets, called by
nsTableCellFrame::IntrinsicWidthOffsets and
nsLayoutUtils::IntrinsicForContainer.  Ultimately, this gets back to
GetWidthInfo() (under which about 20% of the total load time is spent).

I have to wonder whether we could do anything to reduce this.  Especially given
that we're fetching the same structs in GetMinWidth and GetPrefWidth...  It
basically looks like we're calling nsFrame::IntrinsicWidthOffsets at least 3
times for each table cell...

dev-tech-layout mailing list
[hidden email]